1

WCF サービスのクライアントを準備しています。サービス サイトの何らかのメソッドでフォールト例外を引き起こしました。つまり:

throw new FaultException<sth>(new sth())

WPF アプリケーションでこの例外をキャッチすると:

catch (FaultException<sth> ex)
{
     // something
}

すべてが非常に明確に機能します。

私が言いたいのは、サービス インターフェイスについて考察したということです。

var type = typeof (someServiceInterface);
type.GetMethods();

この方法でメソッド サービスを呼び出したときに、FaultException をキャッチしたい

try
{
    var singleMethod = //do sth to get method
    var result = singleMethod.Invoke(proxy, parameters);
    return result;
}
catch (FaultException<sth> ex)
{
    //1
}
catch (Exception ex)
{
    //2
}

しかし、最初のキャッチではなく、2 番目のキャッチで例外をキャッチします。この例外のタイプは「System.Reflection.TargetInvocationException」です。私は混乱していて、何がそのような問題を引き起こしているのだろうか。

4

0 に答える 0