我目前在我的控制器中使用Session [“Name”] =“a name”。但是当我尝试刷新页面时会话变空。谁知道为什么?
我的配置文件:
sessionState mode =“InProc”customProvider =“DefaultSessionProvider”>
with provider to connectionstring
答案 0 :(得分:1)
首先尝试将以下属性添加到sessionState元素中(在web.config中):
timeout="10080"
(那是1周,以分钟计)。
您的会话应该然后存活至少几分钟。由于您将其存储在Proccess(mode =“InProc”)中,当您的IIS App Pool的工作进程回收时,该进程中存储的所有会话数据都将丢失。
如果您需要存储会话数据的时间比工作进程处于活动状态(或者如果您想使用多个工作进程甚至多个Web服务器),则需要将会话存储在外-process(例如,在SQL中,在网络共享上或在AppFabric中)。