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
}

但是我在第二次捕获中捕获了一个异常,而不是在第一次捕获中。此异常的类型是“System.Reflection.TargetInvocationException”。我很困惑,我想知道是什么导致了这种问题。

4

0 回答 0