近来读了几篇关于ASP.NET下Session机制的文章,结合自己的实际应用,有点感想:
在ASP.NET的Session的默认机制下,对同一个SessionID下的用户请求ASP.NET的Session数据的操作会引起排他锁,假设在同一个SessionID下有多个用户同时请求Session数据的话,就会出现很大的延迟现象。把Session的信息设置为ReadOnly,将不会在导致排他锁的出现。但是,只读Session'数据的操作还是要等待对Session的读写操作引起的排他锁的释放。
因此在不需要Session的情况下,应该在页面声明EnableSessionState="false",
需要验证Session信息的情况下,除了登录页面写Session外,其他读取Session数据的页面声明为EnableSessionState="ReadOnly"