【发布时间】:2012-10-11 07:31:07
【问题描述】:
在 IIS7 应用程序池中有一个设置空闲超时默认为 20 分钟, 其中说:
工作进程在关闭之前保持空闲的时间(以分钟为单位),如果工作进程不处理请求并且没有收到新请求,则工作进程处于空闲状态。
我的问题是,如果工作进程因为超时而关闭,那么托管在这个工作进程中的应用程序创建的会话会丢失吗?
【问题讨论】:
标签: asp.net asp.net-mvc session iis-7 worker-process
在 IIS7 应用程序池中有一个设置空闲超时默认为 20 分钟, 其中说:
工作进程在关闭之前保持空闲的时间(以分钟为单位),如果工作进程不处理请求并且没有收到新请求,则工作进程处于空闲状态。
我的问题是,如果工作进程因为超时而关闭,那么托管在这个工作进程中的应用程序创建的会话会丢失吗?
【问题讨论】:
标签: asp.net asp.net-mvc session iis-7 worker-process
是的——the session data is tied to the app pool worker process,所以一旦worker被关闭,会话数据就会丢失。
默认行为是将会话变量存储在 ASP.NET 工作进程的内存空间中。
(当然,这假设您使用 InProc 作为会话模式。如果您使用的是数据库,那么它将在 worker 关闭后持续存在。)
【讨论】: