看了一下MSDN,我的理解是这项服务来管理 Session 的,正常来说,Session 位于IIS进程中(其实可以理解成在服务器的内存中),当IIS重启或程序池回收会自动清空Session。
ASP.NET State Service服务如果启动可以解决这个问题,它会生成一个aspnet_state.exe进程,这个就是Session信息的进程。只要这个进程在,就算是重启了IIS,站点的Session也不会丢失。
用这个模式注意修改web.config
<
sessionState
mode ="InProc"
stateConnectionString ="tcpip=127.0.0.1:42424"
sqlConnectionString ="data source=127.0.0.1;Trusted_Connection=yes"
cookieless ="false"
timeout ="20"
/>
mode ="InProc"
stateConnectionString ="tcpip=127.0.0.1:42424"
sqlConnectionString ="data source=127.0.0.1;Trusted_Connection=yes"
cookieless ="false"
timeout ="20"
/>
要把mode的值改为 StateServer