2013-05-06 93 views
2

我目前在我的控制器中使用Session [“Name”] =“一个名字”工作。但是当我尝试刷新页面时,会话变为空白。有人知道为什么ASP NET MVC会话刷新丢失

我的配置文件有:

的sessionState模式= “InProc方式” customProvider = “DefaultSessionProvider”>

与供应商的ConnectionString

回答

1

首先尝试添加下面的属性到您的sessionState元素(在网页.config):

timeout="10080" 

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

您的会话应该然后生存至少几分钟。由于您将它存储在Proccess(mode =“InProc”)中,因此当您的IIS应用程序池的工作进程重新使用该进程中存储的所有会话数据时,将丢失该数据。

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