订阅队列时nServiceBus MSMQ错误

时间:2010-07-07 21:00:32

标签: nservicebus

这可能是非常明显的,我刚刚开始使用nSB。我会尽量详细说明。让我们从代码开始:

这是端点配置代码: http://www.pastebin.ca/1896246

app.config: http://www.pastebin.ca/1896249

最后,这是我运行NServiceBus.Host.exe时记录的输出 http://www.pastebin.ca/1896253

奇怪的是,总线仍然有效,可以接收消息并处理它们,正如我在这里看到的: http://www.pastebin.ca/1896257

我担心的最后一件事是在主机进程运行时出现重复System.Messaging.MessageQueueException错误:

  

请求的操作超时   已过期

     

MessageQueueErrorCode:   System.Messaging.MessageQueueErrorCode.IOTimeout

     

StackTrace:at   System.Messaging.MessageQueue.ReceiveCurrent(时间跨度   超时,Int32操作,CursorHandle   cursor,MessagePropertyFilter过滤器,   MessageQueueTransaction   internalTransaction,   MessageQueueTransactionType   TRANSACTIONTYPE)

2 个答案:

答案 0 :(得分:2)

您不必担心这些MSMQ异常,因为它们是NServiceBus内部的,并且被框架吞没。

答案 1 :(得分:1)

从异常看起来你正在执行超时接收。如果没有要接收的消息,则MSMQ最终会在达到超时时生成异常。如果这是预期的情况(即队列中没有消息),您只需要捕获异常并继续。如果队列中总是有消息,那么我会对光标指向的时间感兴趣。

干杯
John Breakwell