我对会话变量有一个非常奇怪的问题。
我有一个asp.net页面,它设置了几个会话变量。在我的开发机器(localhost)上,我进行了回发,并且仍然填充了会话值。
当我通过点击网址栏并按回车键重新加载页面时,会话变量仍然存在。
但是,当我将此页面部署到网络服务器时,页面在执行回发时仍会保留会话值,但只要我点击网址并按回车键,会话值就会丢失(ispostback = false)
但是当我按下刷新按钮时会出现会话变量(但是我确实会弹出警告我需要重新发送页面数据!)
我正在运行IE 7,而网络服务器是iis6我做错了什么?!
请帮助x
答案 0 :(得分:2)
您使用的会话状态提供商是什么?默认值为 InProc ,其中会话存储在asp.net工作进程中。这意味着如果应用程序池被回收或Web服务器内存不足,会话状态可能会丢失。您可以尝试使用 StateServer 模式,从而将会话存储在服务器上运行的单独服务中。您可以在web.config
中更改模式,例如
<system.web>
<sessionState mode="StateServer" />
</system.web>
答案 1 :(得分:1)