ASP.NET中Session的存储模式有以下三种:
1、InProc
session存储在进程内,即inetinfo.exe这个进程中。
2、SQLServer
会话状态将使用进程外 SQL Server 数据库来存储状态信息。
3、StateServer
会话状态将使用进程外 ASP.NET 状态服务来存储状态信息。
而IIS默认是以InProc方式来存储session的,即存储在 IIS进程中,也就是inetinfo.exe这个进程。当inetinfo.exe进程不稳定或崩溃时,这些信息也就会丢失。另外,当IIS关闭,重启时Session信息也会丢失。
通过分析,我们认为可能是因为该服务器上网站过多,频繁的网站访问使inetinfo.exe这个进程不稳定从而导致了session的丢失从而被弹出系统。
解决方法:
更改session的存储方式,以StateServer服务方式来存储session,并开启了远程服务器上的stateserver服务【控制面板---管理工具 ---服务】,修改后测试时不再出现这个被弹出系统的问题。