asp.net Session的实现

asp.net的Session是基于HttpModule技术做的,HttpModule可以在请求被处理之前,对请求进行状态控制,由于Session本身就是用来做状态维护的,因此用HttpModule做Session是再合适不过了。

 

原因1:

bin目录中的文件被改写,asp.net有一种机制,为了保证dll重新编译之后,系统正常运行,它会重新启动一次网站进程,这时就会导致Session丢失,所以如果有access数据库位于bin目录,或者有其他文件被系统改写,就会导致Session丢失

 

原因2:

文件夹选项中,如果没有打开“在单独的进程中打开文件夹窗口”,一旦新建一个窗口,系统可能认为是新的Session会话,而无法访问原来的Session,所以需要打开该选项,否则会导致Session丢失

 

原因3:

似乎大部分的Session丢失是客户端引起的,所以要从客户端下手,看看cookie有没有打开

 

原因4:

Session的时间设置是不是有问题,会不会因为超时造成丢失

 

原因5:

IE中的cookie数量限制(每个域20个cookie)可能导致session丢失

 

原因6:

使用web garden模式,且使用了InProc mode作为保存session的方式

posted @ 2015-06-23 10:59  IT人生(正)  阅读(57)  评论(0编辑  收藏  举报