首页 > 解决方案 > 超出会话的请求队列限制

问题描述

我在 ASP.NET 应用程序 NET 4.7.1 中有此错误。

超出会话的请求队列限制。

满的:

System.Web.HttpException (0x80004005): The request queue limit of the session is exceeded.
at System.Web.SessionState.SessionStateModule.QueueRef()
at System.Web.SessionState.SessionStateModule.PollLockedSession()
at System.Web.SessionState.SessionStateModule.GetSessionStateItem()
at System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData)

有什么建议么 ?

标签: asp.netsession.net-4.7.1

解决方案


.NET 4.7 中的默认行为已更改。重定向指南建议

要恢复旧行为,您可以将以下设置添加到 web.config 文件以选择退出新行为。

<appSettings>
  <add key="aspnet:RequestQueueLimitPerSession" value="2147483647"/>
</appSettings>

澄清改变的行为:

在 .NET Framework 4.6.2 及更早版本中,ASP.NET 依次执行具有相同 Sessionid 的请求,默认情况下,ASP.NET 始终通过 cookie 发出 Sessionid。如果一个页面需要很长时间才能响应,只需在浏览器上按 F5 就会显着降低服务器性能。在修复中,我们添加了一个计数器来跟踪排队的请求并在请求超过指定限制时终止请求。默认值为 50。如果达到限制,将在事件日志中记录警告,并且可能会在 IIS 日志中记录 HTTP 500 响应。

也在这里解决:https ://knowledgebase.progress.com/articles/Article/The-request-queue-limit-of-the-session-is-exceeded-in-sitefinity-11-2


推荐阅读