【发布时间】:2014-03-14 20:09:22
【问题描述】:
我在使用 Azure 服务总线传输 (v 4.0.5) 的 Azure 虚拟机上使用 NServiceBus (v 4.0.5)。 NServiceBus.Host 服务偶尔会崩溃,但最近经常崩溃。抛出的异常是:
Application: NServiceBus.Host.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.ServiceBus.Common.CallbackException
Stack:
at Microsoft.ServiceBus.Common.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
我正在使用运行通用主机服务的专用机器,我有 3 台机器向它发送消息(我不使用 pub/sub)。
我尝试过的
- 手动重启/重启服务。
- 正在研究错误:似乎没有多少人收到此消息,对于收到此消息的人来说,他们的回复不适用于我的情况。
- 验证死信队列:死信队列中有几条消息(过去 6 个月内超过 400 条),但我无法将任何特定消息类型与崩溃关联起来(至少 40% 的消息类型有在死信队列中找到)。我假设这些消息中的大部分已添加到 DLQ,因为服务失败了。
- 检查应用程序日志:我的应用程序将异常记录到 log4net 日志中,但是在崩溃期间没有记录异常。
- 检查事件日志:除了上面提到的主要错误消息外,没有发现任何相关信息。
- 将 NServiceBus 升级到 4.4.2 并将 WindowsAzureServiceBus 包升级到 5.1.1:由于 NuGet 包冲突,升级被证明是痛苦的。我正在使用 Microsoft.Data.OData 5.4.0 和 Microsoft.Data.Edm 5.4.0,但 NServiceBus.Azure 包依赖于这些程序集的 v5.2.0。我可以放弃 nuget 包依赖项并自己添加引用,但我想知道为什么 WindowsAzureServiceBus 包在执行此操作之前特别依赖于 v5.2.0。
任何想法或想法都会有所帮助。
谢谢!
【问题讨论】:
标签: azure nservicebus