【发布时间】:2012-04-22 10:31:52
【问题描述】:
在使用 MSMQ WCF 客户端和服务器时如何设置消息 timeToBeRecieved?
我正在使用 msmq 服务来管理与不可靠目标系统的消息传递。消息可能会持续数天未送达。
大多数无效消息使用服务器绑定中的以下设置进入毒队列。
receiveErrorHandling="Move"
一些消息最终进入系统死信队列而不是中毒队列。有没有办法配置死信消息进入与上述相同的队列?该队列是实际消息队列的子队列,称为 queue;poison。
如何将 timeToBeReceived 设置为足够大的值,以使邮件最终进入中毒队列?我希望每种消息类型都有一个失败队列,我也不想处理死信。
谢谢
【问题讨论】:
-
“我也不想处理死信。”您应该始终处理死信队列。即使它是一个监视它的线程,它也不会填满。
-
我不希望一个队列用于消息处理,然后多个队列用于错误处理。这对我来说似乎很荒谬。我想要一个队列用于消息,一个队列用于失败。也许我应该试试 nservicebus?
-
MSMQ 死信队列实际上是基本包的一部分。为 WCF 支持引入的子队列实际上只是一个过滤器,因为它们在目标队列中对消息进行排序。
标签: wcf error-handling msmq