我想使用MSMQ 3.0和Windows 2003记录我的wcf服务正在丢弃的Poison消息

时间:2008-09-23 07:22:47

标签: wcf msmq

我想使用MSMQ 3.0和Windows 2003记录我的wcf服务正在丢弃的Poison消息

3 个答案:

答案 0 :(得分:1)

您可以使用自定义行为实现自定义IErrorHandler并将其与您的服务相关联。在您的实现中,检查引发的异常是否为MsmqPoisonMessageException类型,如果是,请使用System.Messaging,MessageQueue从队列中获取消息并记录它。

有一个sample显示了大部分内容是如何完成的:它将消息移动到另一个队列,但是修改它应该是微不足道的,以便它只是在某处记录消息。

答案 1 :(得分:0)

您可以添加以下服务,从您的毒药队列中读取消息并记录它们。

<service name="YourPosionMessageHandler"
   <endpoint
address="net.msq://localhost/private/YourServiceQueue;poison"
binding="netMsmqBinding"
    />
</service>

答案 2 :(得分:0)

在MSDN上有一个很好的例子。 http://msdn.microsoft.com/en-us/library/ms751472.aspx