【问题标题】:Suspected loss of session state in IIS 6怀疑在 IIS 6 中丢失会话状态
【发布时间】:2013-11-21 21:32:33
【问题描述】:

我有一个 ASP.NET 网站,它根据访问的域使用多种皮肤做出响应。

问题在于,身份验证和其他一些功能似乎会出现随机故障,用户被发送回登录屏幕,或者其他会话控制的值似乎已经丢失 - 但只有在通过其中一个域访问时才会出现。另一个域不会遇到同样的问题。

在我们的测试系统上,通过任何域访问时都不存在这些问题。在现场,即使遵循相同的步骤,问题也会在会话期间的不同时间发生。正是由于这些原因,我认为这不是应用软件中的错误。

在问题所在的实时系统上,在 IIS 中设置了两个网站,每个网站都绑定到所需的域。一个通过http://mysite.com/myvirtualdir 的虚拟目录访问该站点,另一个通过http://myalternatesite.com/ 的根路径访问该站点。我不认为虚拟目录是问题。

【问题讨论】:

  • 是负载均衡的环境吗?
  • 您的会话状态是保存在内存中,还是保存在数据库中,还是...?
  • 不,没有负载平衡。唯一的特点是在 IIS 中设置了两个网站,它们指向相同的应用程序代码,并根据访问的域呈现不同的皮肤。
  • 会话状态目前持久化在内存中。

标签: asp.net iis session-state


【解决方案1】:

我现在已经解决了我的问题,但仍然不确定确切的原因是什么。

我在 IIS 中为两个网站打开了网站属性,一个有效,一个无效,并比较了属性。

对于解决此问题的其他任何人,这些是我采取的步骤,按照我认为它们是问题原因的可能性大小排列。

  1. 第二个网站正在使用默认应用程序池。此服务器上的默认应用程序池设置没有什么特别的,会导致会话丢失,但我现在已更改为使用与一直运行的站点相同的应用程序池。

  2. 禁用 Windows 身份验证以匹配工作网站。

  3. 更改了默认文档,以便仅列出所需的文档。

  4. 连接数限制为 500 以匹配工作网站。

希望这对其他人有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 2013-06-28
    • 2019-07-18
    • 2021-03-03
    • 1970-01-01
    • 2012-02-01
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多