这可能是非常明显的,我刚刚开始使用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)
答案 0 :(得分:2)
您不必担心这些MSMQ异常,因为它们是NServiceBus内部的,并且被框架吞没。
答案 1 :(得分:1)
从异常看起来你正在执行超时接收。如果没有要接收的消息,则MSMQ最终会在达到超时时生成异常。如果这是预期的情况(即队列中没有消息),您只需要捕获异常并继续。如果队列中总是有消息,那么我会对光标指向的时间感兴趣。
干杯
John Breakwell