【发布时间】:2018-11-26 14:52:29
【问题描述】:
我们有一个应用程序,它从 IBM MQ 主题读取消息并通过 SignalR WebSockets 与用户交互。
案例:
打开 iis asp.net 应用程序 web.config
更改并保存(这会导致 appdomain 重启)
重复步骤 2 10 次
之后,我们可以在日志中看到许多 Application_Start/Dispose 事件,但在 ONE 的 appdomain 重启迭代中没有 Dispose 调用。导致来自旧 AppDomain 的 IBM MQ 侦听器处理消息,因此我们有重复的处理和业务错误。
这似乎限制了 AppDomain 的卸载。
我知道很难说发生了什么,但也许有人知道我们如何追踪这个问题。
禁用重叠回收是true
关机时间限制为3s
【问题讨论】:
-
旧的 AppDomain 可能会受到限制很多小时
-
blogs.msdn.microsoft.com/tess/2008/11/06/… 您可以深入了解 ETW 以查看是否可以获得更多信息。这称为appdomain restart,而不是recycle,因此请编辑您的问题以更正该术语的滥用。