我有以下要求: 我有一个有2个区域的网站
1)public - session在代码中动态设置为10分钟(期间) 页面请求处理)
2)私人 - 会话设置为一小时 动态地在代码中(在页面请求处理期间)
我的问题是我有两种不同的环境:
- 开发环境 - 按预期做出反应(公共和私有区域具有由代码定义的定义)。
- 生产环境 - 所有区域都有15(或20)分钟的会话超时(时间取决于我定义的服务器 环境)。
醇>
由于描述,我理解代码本身并不是必需的。
现在,两种环境之间的唯一区别是Production具有SSL加密功能。
为了使两个环境的行为相同,我需要添加什么? 提前谢谢。
答案 0 :(得分:2)
检查IIS本身的设置。我相信默认值是20分钟,这可以解释为什么你看到你所看到的。
打开IIS管理器并导航到要管理的级别。有关打开IIS管理器的信息,请参阅打开IIS管理器(IIS 7) 有关在UI中导航到位置的信息,请参阅
在IIS管理器(IIS 7)中导航。在“功能视图”中,双击“ASP。
在ASP页面的“服务”下,展开“会话属性”。
在超时字段中,输入格式为hh:mm:ss的超时值。例如,输入00:15:00 15分钟。
在“操作”窗格中,单击“应用”。
自: http://technet.microsoft.com/en-us/library/cc725820(v=ws.10).aspx
答案 1 :(得分:0)
检查Windows事件日志以确保不会强制工作进程回收。
您的代码中可能存在导致工作进程强制自行回收的内容,在这种情况下,当会话存储inProc
时,它将丢失它所持有的所有会话值。