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 に答える