.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

自定制的存储方案

由实现方式确定
posted @ 2014-03-07 20:28  行进  阅读(392)  评论(0编辑  收藏  举报