C# IIS 7.0 asp.net会话超时
我有以下要求: 我有一个网站与2个领域 1) 公共-会话在代码中动态设置为10分钟(在 页面请求处理)C# IIS 7.0 asp.net会话超时,c#,asp.net,iis,ssl,C#,Asp.net,Iis,Ssl,我有以下要求: 我有一个网站与2个领域 1) 公共-会话在代码中动态设置为10分钟(在 页面请求处理)2)专用-会话设置为一小时 在代码中动态显示(在页面请求处理期间) 我的问题是,我有两个行为不同的环境: 开发环境-按预期反应(公共和私人区域具有代码定义的定义) 生产环境-所有区域都有15(或20)分钟的会话超时(时间取决于我定义的服务器) 环境) 由于描述,我理解代码本身不是必需的 现在,这两种环境之间的唯一区别是生产环境具有SSL加密 为了使两个环境的行为相同,我需要添加什么? 提前感谢。
2)专用-会话设置为一小时 在代码中动态显示(在页面请求处理期间) 我的问题是,我有两个行为不同的环境:
提前感谢。检查Windows事件日志以确保工作进程未被强制回收
您的代码中可能存在导致工作进程强制自身循环的内容,在这种情况下,当会话存储在Proc中时,它将丢失它所持有的所有会话值。检查IIS本身中的设置。我相信默认值是20分钟,这可以解释为什么你看到了你所看到的
- 打开IIS管理器并导航到要管理的级别。有关打开IIS管理器的信息,请参阅打开IIS管理器(IIS 7)。
有关在UI中导航到位置的信息,请参见
在IIS管理器(IIS 7)中导航 - 在功能视图中,双击ASP
- 在ASP页面的“服务”下,展开“会话属性”
- 在超时字段中,输入格式为hh:mm:ss的超时值。例如,输入00:15:00,持续15分钟
- 在操作窗格中,单击应用
我忘了说我试过。。。然而-我需要在运行时修改它(这就是为什么我在代码中这么做的原因)。是的-问题是关于SSL和ASP.NET,是的-默认情况下它们不共享相同的会话ID,我在web.config中添加了选项(在system.webserver部分),它们应该共享相同的ASP会话,viola-它可以工作!可能还有另一种方法-但我不认为有一种方法可以通过代码来实现这一点。。。(因为SSL或类似的东西会有安全问题)。你能解释一下什么是“inProc会话”吗?它与SSL会话或IIS会话不同吗?我知道在IIS中定义会话设置只适用于经典的ASP站点(不一定适用于ASP.NET)。顺便说一句,工作进程在这两种环境中都不能循环使用。尽管如此,会话还是结束了(在这两种环境中都是预期的和意外的)。