1

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

4

3 回答 3

1

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

有一个示例显示了大部分这些东西是如何完成的:它将消息移动到另一个队列,但修改它应该很简单,以便它只是将消息记录在某个地方。

于 2008-09-23T13:52:40.763 回答
0

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

<service name="YourPosionMessageHandler"
   <endpoint
address="net.msq://localhost/private/YourServiceQueue;poison"
binding="netMsmqBinding"
    />
</service>
于 2008-09-23T10:51:31.573 回答
0

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

于 2009-02-18T08:20:27.793 回答