3

我们不时遇到一个问题,我们在 IIS 中有许多具有以下状态的请求:RequestAcquireState.

我们SqlSessionStateStore用来管理会话。当我们有许多处于这种状态的请求时,它们最终会超时并消失。有时他们在那里待了一个多小时。

当我们有这些挂起的会话时,我看到的TempGetStateItemExclusive3是 ASPState 数据库中存储过程的执行增加了。每隔几秒最多 2,000 个。不好。

我希望有人可以帮助我解决以下问题:

  1. 这些会话如何挂起

  2. 除了增加数据库活动之外,它们是否会造成任何伤害

  3. 是否可以安全地终止单个请求

  4. 很多人建议重启 AppPool 这对当前使用系统的人来说是不利的

  5. 有没有办法在 ASPState 数据库中识别这些会话以及如果删除它们会发生什么

4

1 回答 1

1

挂起是由底层框架未触发 EndRequest 引起的,如本知识库文章中所述

您尚未包含您正在运行的 IIS/.NET 版本,因此本文中的 HotFix 可能适用于您。

不幸的是,这似乎在.NET 的更高版本中没有得到正确修复,我仍然遇到同样的问题,我也问过.

于 2016-09-15T07:52:28.180 回答