2

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

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

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

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

由于描述,我知道代码本身不是必需的。

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

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

4

2 回答 2

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

于 2012-07-10T10:58:42.363 回答
0

检查 Windows 事件日志以确保工作进程没有被强制回收。

你的代码中可能有一些东西会导致工作进程强制自己回收,在这种情况下,当会话被存储时,inProc它会丢失它所持有的所有会话值。

于 2012-07-10T10:06:18.027 回答