可以关闭
更多的解释如下:
由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下:
我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer?SQLServer(大小写敏感) 。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。
将mode设定为StateServer。StateServer是本机的一个服务,可以在系统服务里看到服务名为ASP.NET State Service的服务,默认情况是不启动的。当我们设定mode为StateServer之后,请手工将该服务启动。
这样,我们就能利用本机的StateService来存储Session了,除非电脑重启或者StateService崩掉,否则Session是不会丢的(因Session超时被丢弃是正常的)。
Web.Config文件中关于Session mode 的说明:
Custom
会话状态将使用自定义数据存储区来存储会话状态信息。
InProc
会话处于正在处理 ASP.NET 辅助进程的状态。
Off
会话状态被禁用。
SQLServer
会话状态将使用进程外 SQL Server 数据库来存储状态信息。
StateServer
会话状态将使用进程外 ASP.NET 状态服务来存储状态信息。
----------------------
只有在选择mode='StateServer'时,ASP.NET State Service才有用,其他状态下可以关闭。