IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法
解决方法一:
1. 开启ASP.NET State Service服务:
选择管理工具->服务,找到ASP.NET State Service,点开后选择启动,并将启动类型设为自动。
2. 设置程序配置文件:
将web.config打开,会看到有一行是<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20"/>,如果没有,请在<system.web>的下一行添加,再将其中的InProc改为StateServer,保存即可。
解决方法:
如果按照方法一还不行出现如下错误:解决方法如下
错误描述:
Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same. If the server is on a remote machine, please ensure that it accepts remote requests by checking the value of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection. If the server is on the local machine, and if the before mentioned registry value does not exist or is set to 0, then the state server connection string must use either 'localhost' or '127.0.0.1' as the server name.
解决办法
网上搜索了半天,找到的相关答案都说是ASP.NET State Service服务没有开启,但服务器上明明已经开启了啊!就是因为杀毒软件的问题,以前在另一台服务器上装了MCAFEE,开启访问保护ASP.NET的所有网站都会出错,看了一下服务器里装的NOD32,是把所有的功能都开启了,关掉网络监视(IMON),验证码就可以正常显示了