Nservicebus 检查BeginPeek是否仍然订阅

Nservicebus 检查BeginPeek是否仍然订阅,nservicebus,msmq,Nservicebus,Msmq,我正在使用BeginPeek()/no params/订阅进入我的专用队列的消息。这是在NServiceBus主机中托管的服务中完成的。当NServiceBus遇到传输连接超时异常(我看到断路器启用日志和超时异常日志)时,peek事件订阅似乎丢失了。当数据库连接变得稳定且新消息进入我的队列时,服务将不再收到通知 关于如何解决这个问题有什么想法或建议吗?是否可以添加更多细节,例如您使用的是哪个NSB版本以及一个小示例?根据您的描述,我不清楚您为什么需要手动查看队列?服务正在监视队列的传入消息。当新

我正在使用BeginPeek()/no params/订阅进入我的专用队列的消息。这是在NServiceBus主机中托管的服务中完成的。当NServiceBus遇到传输连接超时异常(我看到断路器启用日志和超时异常日志)时,peek事件订阅似乎丢失了。当数据库连接变得稳定且新消息进入我的队列时,服务将不再收到通知


关于如何解决这个问题有什么想法或建议吗?

是否可以添加更多细节,例如您使用的是哪个NSB版本以及一个小示例?根据您的描述,我不清楚您为什么需要手动查看队列?服务正在监视队列的传入消息。当新邮件到达队列时,将对其进行处理并“接收”(从收件箱中删除)。服务在收到消息后发出另一个BeginPeek。我正在使用NServiceBus 5.2.3和NServiceBus.Host.exe 6.0。该服务通过发出msmq.BeginPeek()来附加到Peek event at Start()方法。当我重新启动MSMQ服务时,该服务取消了对Peek事件的订阅。通过向MSMQ添加依赖项解决了这一问题,但还有其他因素可能会导致该服务失去Peek订阅。我不确定是否完全按照您的描述进行。你是说你有两件事在同一个队列上听?NServiceBus传输本身和您的自定义队列处理逻辑是否处于On状态?您的自定义逻辑是否丢失了peek订阅或NServiceBus?如果我的描述令人困惑,我很抱歉。暂时忽略NServiceBus。我主要关心的是,我的服务订阅了队列的Peek事件。当我重新启动MSMQ服务时,Peek事件的订阅将丢失。其他事件可能导致此peek订阅终止。有没有办法检查Peek订阅是否仍然有效?可能存在副本