1

MSMQとWCFを使用しています。これで、MSMQがオフラインになるか、WCFと宛先の間で通信エラーが発生する可能性があります。serviceHostでFaultedイベントをサブスクライブできることはわかっています。また、MSMQがダウン/オフラインになると、そのイベントが発生します。これはすばらしいことです。しかし、どのようにして発生した障害の種類を知ることができますか?なんらかの通信エラーであることを確認する必要があります。その場合は、しばらくしてから再接続し、「マジックナンバー」に到達するまで試行を続けたいと思います。

サービスからスローされる例外はありません。MSMQがオフラインになったとき、WCFサービスに障害が発生しますが、障害の種類を知る必要があります。

ありがとう

4

1 に答える 1

1

Christian Kが示唆するように、例外の詳細ではない場合、探しているのはむしろWCFサービス/クライアントが他の通信例外を受信しない理由であり、その理由はnetMsmqBindingが「ファイアアンドフォーゲット」パターンを実装しているためです。

WCF サービスは、MSMQ プラミングによってクライアントから完全に切断され、MSMQ ターゲット キューのメッセージのみをリッスンします。netMsmqBinding を使用したサービス操作は、一方向 (void を返す) になるように構成する必要があります。これは、WCF クライアントがメッセージを MSMQ 送信キューに正常に配置すると、その作業が完了するためです。MSMQが WCF サービスへのメッセージの配信を保証することを前提としています。MSMQ 4.0 は、「再接続」と「マジック ナンバーの再試行」に関する懸念を処理します。

于 2012-05-03T15:02:42.197 に答える