2015-04-07 42 views
0

我们最近将我们的NServiceBus项目从版本4升级到版本5.我们使用NHibernate将数据存储到SQL服务器数据库。自升级以来,我们开始在连接超时和TimeoutEntity表中遇到错误。 NServiceBus服务运行良好一段时间 - 至少几个小时,然后停止。NServiceBus v5断路器

当调查造成这种情况的原因时,似乎是轮询对TimeoutEntity表的查询 - 查询每分钟完成一次,如果查询超过2秒完成,则会引发一个错误并且调用CriticalError.Raise - 这导致NServiceBus停止服务。

调查的一个途径是找出超时的原因,但我们也想知道为什么这个功能发生了变化 - 在以前版本的NServiceBus中,Logger.Warn被调用而不是CriticalError.Raise。有人会知道为什么这个改变是在NServiceBus 5中做出的,我们可以做些什么来减轻它?

回答

0

您还可以通过使用

config.DefineCriticalErrorAction((message, exception) => { 
    <do something here> 
}); 
定义自己的严重错误行为