如下:
在<system.web></system.web>节点中修改或添加配置,有的已经存在,有的还没有存在。
<sessionState mode ="InProc" cookieless ="true" timeout ="20"></sessionState>
改一下cookieless 就行了。
<sessionState mode ="InProc" cookieless ="false" timeout ="20"></sessionState>
想让session不容易丢失,设置的session配置如下(电脑上开启asp.net state 服务):
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"
或者只用 StateServer: <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="40"/>
我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer、SQLServer(大小写敏感)。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。
附:
如果要存储在session里的不是一个简单的类型,那么需要在类上面加 [Serializable] 标识为可序列化,不然会报不可自动序列化的错误。