ASP.NET会话超时时间

3
有人能告诉我为什么我的应用程序在一定时间后自动清除会话吗?
我使用以下行创建会话变量以在类之间传递数据:
string data = TextBox.Text Session["Data"] = data;
大约10-15分钟后,当我刷新页面时,我发现会话缓存已被清除,并且我的应用程序崩溃了。
有没有办法在web.config中延长会话时间?
我不完全清楚会话的功能如何,所以希望得到帮助,谢谢。
1个回答

3

请查看您的web.config文件,并查看sessionState部分:

<configuration>
  <system.web>
     <sessionState timeout="30"></sessionState>
  </system.web>
</configuration>

我已经将其更改为 30,以延长 Sessions 的生存时间15分钟。您可以根据需要进行更改。

1
已经有一段时间了,但我认为应用程序池也可能会导致这种情况。或许还有其他事情需要检查。 - Mike C.
@MikeC。你是对的。如果使用Inproc会话存储,任何应用程序域的重启(池回收,在web.config中进行编辑等)都将清除会话。 - jbl
@JBL,你能否详细说明一下inproc会话存储是什么? - Master Yoda
@user2500842 - 它只是将会话状态存储在服务器内存中。我相信 jbl 和 Mike 想表达的是,如果应用程序池被回收,会话将被清除,这是正确的 - 但你正在尝试调整超时时间,这正是我的答案所提供的。 - Darren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接