Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IIS 7.0 asp.net会话超时_C#_Asp.net_Iis_Ssl - Fatal编程技术网

C# IIS 7.0 asp.net会话超时

C# IIS 7.0 asp.net会话超时,c#,asp.net,iis,ssl,C#,Asp.net,Iis,Ssl,我有以下要求: 我有一个网站与2个领域 1) 公共-会话在代码中动态设置为10分钟(在 页面请求处理)2)专用-会话设置为一小时 在代码中动态显示(在页面请求处理期间) 我的问题是,我有两个行为不同的环境: 开发环境-按预期反应(公共和私人区域具有代码定义的定义) 生产环境-所有区域都有15(或20)分钟的会话超时(时间取决于我定义的服务器) 环境) 由于描述,我理解代码本身不是必需的 现在,这两种环境之间的唯一区别是生产环境具有SSL加密 为了使两个环境的行为相同,我需要添加什么? 提前感谢。

我有以下要求: 我有一个网站与2个领域

1) 公共-会话在代码中动态设置为10分钟(在 页面请求处理)
2)专用-会话设置为一小时 在代码中动态显示(在页面请求处理期间)

我的问题是,我有两个行为不同的环境:

  • 开发环境-按预期反应(公共和私人区域具有代码定义的定义)
  • 生产环境-所有区域都有15(或20)分钟的会话超时(时间取决于我定义的服务器) 环境)
  • 由于描述,我理解代码本身不是必需的

    现在,这两种环境之间的唯一区别是生产环境具有SSL加密

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

    检查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)。顺便说一句,工作进程在这两种环境中都不能循环使用。尽管如此,会话还是结束了(在这两种环境中都是预期的和意外的)。