ASP.NET State Service可以关闭吗

2024-12-20 05:48:39
推荐回答(2个)
回答1:

可以关闭
更多的解释如下:
由于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超时被丢弃是正常的)。

回答2:

Web.Config文件中关于Session mode 的说明:
Custom
会话状态将使用自定义数据存储区来存储会话状态信息。

InProc
会话处于正在处理 ASP.NET 辅助进程的状态。

Off
会话状态被禁用。

SQLServer
会话状态将使用进程外 SQL Server 数据库来存储状态信息。

StateServer
会话状态将使用进程外 ASP.NET 状态服务来存储状态信息。
----------------------
只有在选择mode='StateServer'时,ASP.NET State Service才有用,其他状态下可以关闭。