0

当到达端点时,主方法被调用,但后续处理程序不会从队列中选择消息。队列不断增加。

有没有人遇到过这个问题?谢谢,

4

1 回答 1

0

到目前为止,我们对您的架构和代码都不太了解,我们必须在这里猜测。因此,如果我说的内容可能不适用于您的情况,请多多包涵。

我想到了几件事:

1.)你看到这个踏板了吗?NServiceBus Bus.Send().Register(callback) 在 IIS/Windows Server 2008 上不起作用

2.)有一些未处理的异常,或者有一个被静默捕获并导致您的处理程序方法由于某种原因停止。

3.)您是否将 WCF 与 NServiceBus 一起使用?上周,我的同事实现了一个由 NServiceBus 托管的 WCF 服务,并且遇到了一个与您的问题相似的问题。它命中了第一条消息的消息处理程序,但从未处理任何后续消息。

原因是处理程序从未返回枚举值作为返回码(YourEnum在代码片段中表示),就像它在服务继承定义(NServiceBus 文档)中定义的那样:

public class YourWcfService : WcfService<YourMessage, YourEnum> { }

调用服务不需要任何返回值,所以我的同事没有返回它(我无法准确说出为什么没有编译错误,这不是我的代码......)。因此,处理程序方法从未正确完成,并且无法处理其他消息。

于 2012-07-11T10:53:24.970 回答