2

我们有一个 ASP.Net MVC Web 应用程序,它在 30 分钟后一直超时。

在 web.config 中,我将 sessionState 超时值设置为 500 分钟。30 分钟后,会话仍然超时。因此,我将其设置为 1 分钟,这确实有效。会话恰好在 1 分钟后超时。

然后,我在 Global.asax.cs 中的 Session_Start 中添加了以下代码:

Session.Timeout = 500;

这有效地覆盖了 web.config 中的 1 分钟超时设置。但是,就像发条一样,会话仍然恰好在 30 分钟时超时。

我可以做些什么来让 IIS 遵守会话超时值?

4

1 回答 1

3

在我看来,您的应用程序池在 30 分钟后正在回收,这有效地杀死了 IIS 中的所有内存会话。

以下是有关应用程序池回收的更多信息,您如何控制它并记录这些事件。

http://www.iis.net/configreference/system.applicationhost/applicationpools/add/recycling

http://forums.asp.net/t/1663248.aspx/1

于 2013-04-25T22:28:26.257 回答