5

WCF では、未処理の例外をキャッチするイベントまたはメソッドはありますか? またはメソッドに try/catch を配置する必要がありますか?

4

2 に答える 2

7

はい、IErrorHandlerインターフェイスを実装するクラスを作成します。

実装者が呼び出し元に返される障害メッセージを制御し、オプションでログなどのカスタム エラー処理を実行できるようにします。

于 2010-04-29T00:40:32.817 に答える
0

内側と外側の TRY/Catch ブロックを実行する必要があります。

したがって、最初のメソッドは Try で始まります

次に、別のメソッド内で何かがスローされた場合、デフォルトで、公開されたメソッドにあるメソッドのジェネリック キャッチに設定され、クライアントに値が返されます。

私は常に catch ブロックでログを記録して管理者に何が問題なのかを伝えていますが、外側の catch が次のような値を返すようにしています。

このようにして、エラー処理、ログ、およびクライアントへの素敵なメッセージを取得できます..

public class Service1 : IService1
    {
    public string GetData(int value)
    {
        try
        { 
            return somemethod(value);
        }
        catch(Exception ex)
        {
            LoggingHelper.Log(ex);
            return "Please Except our Appogies the WCF.Blah service has failed. Please review the server logs for complete details";
        }
    }
于 2010-04-29T18:59:30.900 に答える