0

何らかの理由で切断されたWCFチャネルでメソッドが呼び出されると、ObjectDisposedExceptionが発生します。

これは通常の操作では発生しないはずですが、何らかの理由で発生した場合は、「サービスが接続されていないため操作に失敗しました」などのエラーをユーザーに表示することで、例外を適切に処理できるようにしたいと思います。

問題は、アプリ全体の例外ハンドラーで一般的な破棄された例外を取得するだけなので、WCFがそれをスローしたかどうかを判断する方法がありません。

これを回避するために、現在、すべてのサービスメソッド呼び出しをtry / catchでラップし、グローバルハンドラーが処理できるカスタム通信例外としてObjectDisposedExceptionを再スローするラッパークラスがあります。これは、私がなくてもできる定型文の負荷です。

WCFが例外をスローしたかどうかを判断する方法はありますか?

乾杯

4

1 に答える 1

1

以前はこのような問題が発生していましたが、WCFが例外をスローするかどうかを判断するのは難しいようです。この問題にCommunicationObject.Statusを使用することはできません。そのチャネルを使用しようとした場合にのみ、例外がスローされ、チャネルに障害が発生したことが通知されます。

したがって、私はあなたのような方法を使用しました。

于 2011-08-05T01:36:15.440 に答える