【发布时间】:2013-05-06 14:45:24
【问题描述】:
我目前在我的控制器中使用 Session["Name"]="a name" ,它可以工作。但是当我尝试刷新页面时,会话变空。有人知道为什么吗?
我的配置文件得到了:
sessionState mode="InProc" customProvider="DefaultSessionProvider">
与连接字符串的提供者
【问题讨论】:
标签: asp.net-mvc session null refresh
我目前在我的控制器中使用 Session["Name"]="a name" ,它可以工作。但是当我尝试刷新页面时,会话变空。有人知道为什么吗?
我的配置文件得到了:
sessionState mode="InProc" customProvider="DefaultSessionProvider">
与连接字符串的提供者
【问题讨论】:
标签: asp.net-mvc session null refresh
首先尝试将以下属性添加到您的 sessionState 元素(在 web.config 中):
timeout="10080"
(即 1 周,以分钟为单位)。
您的会话应该然后至少存活几分钟。由于您将其存储在进程中 (mode="InProc"),当您的 IIS 应用程序池的工作进程回收该进程中存储的所有会话数据时,将丢失。
如果您需要存储会话数据的时间比您的工作进程存活的时间更长(或者如果您想使用多个工作进程甚至多个 Web 服务器),您需要将会话存储在外部-进程(例如,在 SQL、网络共享或 AppFabric 中)。
【讨论】: