当到达端点时,主方法被调用,但后续处理程序不会从队列中选择消息。队列不断增加。
有没有人遇到过这个问题?谢谢,
到目前为止,我们对您的架构和代码都不太了解,我们必须在这里猜测。因此,如果我说的内容可能不适用于您的情况,请多多包涵。
我想到了几件事:
1.)你看到这个踏板了吗?NServiceBus Bus.Send().Register(callback) 在 IIS/Windows Server 2008 上不起作用
2.)有一些未处理的异常,或者有一个被静默捕获并导致您的处理程序方法由于某种原因停止。
3.)您是否将 WCF 与 NServiceBus 一起使用?上周,我的同事实现了一个由 NServiceBus 托管的 WCF 服务,并且遇到了一个与您的问题相似的问题。它命中了第一条消息的消息处理程序,但从未处理任何后续消息。
原因是处理程序从未返回枚举值作为返回码(YourEnum
在代码片段中表示),就像它在服务继承定义(NServiceBus 文档)中定义的那样:
public class YourWcfService : WcfService<YourMessage, YourEnum> { }
调用服务不需要任何返回值,所以我的同事没有返回它(我无法准确说出为什么没有编译错误,这不是我的代码......)。因此,处理程序方法从未正确完成,并且无法处理其他消息。