2

我目前在我的控制器中使用 Session["Name"]="a name" 。但是当我尝试刷新页面时,会话变空。有谁知道为什么?

我的配置文件得到:

sessionState mode="InProc" customProvider="DefaultSessionProvider">

与连接字符串的提供者

4

1 回答 1

1

首先尝试将以下属性添加到您的 sessionState 元素(在 web.config 中):

timeout="10080"

(即 1 周,以分钟为单位)。

然后,您的会话至少存活几分钟。由于您将其存储在进程中 (mode="InProc"),因此当您的 IIS 应用程序池的工作进程回收该进程中存储的所有会话数据时,将丢失。

如果您需要存储会话数据的时间比您的工作进程处于活动状态的时间更长(或者如果您想使用多个工作进程甚至多个 Web 服务器),您需要在进程外存储会话(例如在 SQL、网络共享或 AppFabric 中)。

于 2013-06-28T17:47:24.973 回答