我正在为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”。我很困惑,我想知道是什么原因引起了这样的问题。