在IIS7应用程序池中,有一个设置Idle-time out默认为20分钟, 其中说:
工作进程在关闭之前将保持空闲的时间(以分钟为单位),如果工作进程未处理请求且未收到任何新请求,则该进程处于空闲状态。
我的问题是,如果工作进程由于超时时间而关闭,那么由此工作进程中托管的应用程序创建的会话是否会丢失?
答案 0 :(得分:3)
是 - the session data is tied to the app pool worker process,因此一旦工作人员关闭,会话数据就会丢失。
默认行为是将会话变量存储在ASP.NET辅助进程的内存空间中。
(当然,这假设你使用 InProc 作为会话模式。如果你正在使用数据库,那么它会在工作人员关闭后继续存在。)