IIS 7.0 asp.net会话超时

时间:2012-07-10 09:37:36

标签: c# asp.net iis ssl

我有以下要求: 我有一个有2个区域的网站

  

1)public - session在代码中动态设置为10分钟(期间)   页面请求处理)
2)私人 - 会话设置为一小时   动态地在代码中(在页面请求处理期间)

我的问题是我有两种不同的环境:

  
      
  1. 开发环境 - 按预期做出反应(公共和私有区域具有由代码定义的定义)。
  2.   
  3. 生产环境 - 所有区域都有15(或20)分钟的会话超时(时间取决于我定义的服务器   环境)。
  4.   

由于描述,我理解代码本身并不是必需的。

现在,两种环境之间的唯一区别是Production具有SSL加密功能。

为了使两个环境的行为相同,我需要添加什么? 提前谢谢。

2 个答案:

答案 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时,它将丢失它所持有的所有会话值。