NServiceBus关于TimeoutPersisterReceiver无法从超时存储获取超时的警告

NServiceBus关于TimeoutPersisterReceiver无法从超时存储获取超时的警告,nservicebus,nservicebus5,Nservicebus,Nservicebus5,我最近注意到我的NSB日志文件因为一个我以前从未注意到的警告而显著增长 2017-03-21 12:17:50.554警告NServiceBus.Timeout.Hosting.Windows.TimeoutPersisterReceiver未能从超时存储中获取超时 System.NullReferenceException:La référence d'objet n'est pas définieáune instance d'un objet。 áNServiceBus.Timeout.H

我最近注意到我的NSB日志文件因为一个我以前从未注意到的警告而显著增长

2017-03-21 12:17:50.554警告NServiceBus.Timeout.Hosting.Windows.TimeoutPersisterReceiver未能从超时存储中获取超时 System.NullReferenceException:La référence d'objet n'est pas définieáune instance d'un objet。 áNServiceBus.Timeout.Hosting.Windows.TimeoutPersisterReceiver.Poll(Object obj)dans C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Timeout\Hosting\Windows\TimeoutPersisterReceiver.cs:ligne 90 §System.Threading.Tasks.Task.Execute() 2017-03-21 12:17:50.560信息服务总线断路器重复故障隔离断路器超时存储连接断路器现在处于待命状态

此警告每秒钟出现一次,因此您可以想象我的日志文件的大小

我在调整NServiceBus日志级别时注意到此警告,因为我的服务中发生了几次无法解释的崩溃。我发现此警告使我的服务在一段时间后崩溃,导致FatalExecutionEngineError异常(请参见下面的屏幕截图)

我正在使用NServiceBus 5.2.21


有人能帮我摆脱这个警告吗?

我使用旧版本的NServiceBus(5.2.14)解决了我的问题。在这个版本上面,问题出现了,并且在这个版本和下面一切都正常

根据我的测试,当NServiceBus日志记录功能被禁用时,似乎不会出现崩溃。由于我没有在NServiceBus中使用超时,所以当日志被禁用时,一切正常。线程之间似乎发生了一个并发访问问题


由于这是一个旧版本,并且由于NServiceBus当前版本为6.x(即将推出7.x),因此可能从未见过此错误。这是由于超时契约的中断更改造成的。确保您不仅使用最新版本的Core,而且还使用最新版本的Core进行持久性操作。

看起来您与持久性数据库之间存在连接超时问题?这将导致断路器启动、启动并关闭端点。。。