0

我们正在尝试在 Windows Server 2012 标准版上为基于 ASP.Net 4.0 版构建的应用程序从 IIS 6.0 切换到 IIS 8.0 集成池。我们的 Web 应用程序请求进入上述 Windows Server 上的 IIS 8.0 集成池中的 RequestAcquireState(对于使用相同 sessionid 的并发请求,ASP.Net 会话被锁定)。但是,当我们在 IIS 8.0 上以经典模式运行相同的应用程序时,不会出现这种行为。

Session 存储在 InProc 中。

我们可以在 Windows Server 2012 数据中心上通过修改注册表中的 SessionStateLockedItemPollInterval 来纠正这种情况。但是,该解决方案在 Windows Server 2012 标准版中不起作用。

这让我们很困惑——

为什么我们在以前版本的 IIS 和 IIS 8.0 的经典模式上成功运行的应用程序在 IIS 8.0 集成池中出现 ASP.Net 运行时会话问题?

我们现在如何在 Windows Server 2012 标准版上解决这个问题?

谢谢,如果有人可以提供帮助,将不胜感激

4

1 回答 1

1

IIS 8 带有 .net 框架 4.5,因此您可能会遇到缺少修复http://support.microsoft.com/kb/2828842

第 6 期

症状

当您向 ASP.NET 4.5 Web 应用程序发送多个具有相同 SessionId 的并发请求时,某些请求可能会意外冻结在 RequestAcquireState 阶段。解析度

应用此修复程序后,此修复程序可确保 EndRequest 事件将始终触发。

尝试安装此修复程序,看看是否解决了问题

于 2013-09-13T14:03:30.420 回答