Appdomain重新启动后,IIS池重复

时间:2018-11-26 14:52:29

标签: c# asp.net .net iis

我们有一个应用程序,该应用程序从IBM MQ Topic中读取消息并通过SignalR WebSockets与用户进行交互。

案例:

  1. 打开iis asp.net应用程序web.config

  2. 更改并保存它(这会导致应用程序域重新启动)

  3. 重复步骤2 10次

此后,我们可以在日志中看到许多 Application_Start / Dispose 事件,但是在 ONE 的appdomain重新启动迭代中,没有 Dispose 通话。由于旧的AppDomain发出了IBM MQ侦听器处理消息,因此我们有重复的处理和业务错误。

似乎要限制AppDomain的卸载。

我知道很难说发生了什么,但是也许有人知道我们怎么能追踪到这个问题。

禁用重叠回收 true

关闭时间限制 3秒

1 个答案:

答案 0 :(得分:0)

我在类似情况下的处理方式-在global.asax上使用此呼叫

void Application_End(object sender, EventArgs e)
{
     // here signaling the listener to close - and wait until they do
     // also raise the shutdown time limit to more than 3 seconds, give them time to close
}