.net网站开发中Session问题经常失效处理的解决办法 ------(转)
在网站开发中,通常会使用Session来判断用户是否有登录和一些相关的信息.在.net的开发过程中,我发现其Session会时不时退出,没有任何规律可言.这对一些业务系统来说是不可接受的.比如编辑完成提交的时候,提示超时退出了,这可是个要命的问题.
解决的办法一般来说有二种
第一种,使用Cookies机制来保存用户信息
在Cookies中,可以设置cookies超时机制,一般是1个小时,利用这个超时机制来维护用户的状态.每当用户访问一次,就更新Cookies的过期时间.这样在一定的时间内就不会退出.
但要注意,有些浏览器,可能禁止了cookies,如果禁止了,应该提示用户.
第二种,使用.net中Session的其它方式
NET提供了5种保存Seission的方式,比如可以使用SQLServer的方式存贮,这样Session就会变得稳定.
方式名称 |
存储方式 | 性能 |
Off |
设置为不使用Session功能 |
无 |
InProc |
设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。 |
性能最高 |
StateServer |
设置为将Session存储在独立的状态服务中。通常是aspnet_state.exe进程. |
性能损失10-15% |
SQLServer |
设置将Session存储在SQL Server中。 |
性能损失10-20% |
Customer |
自定制的存储方案 |
由实现方式确定 |