3

我正在尝试在 WCF 服务中实现异常处理。我希望将此异常抛出给客户端,以便对其进行记录和处理。

我不知道我写的代码是对还是错。这只会让我“用户代码未处理错误异常”我应该如何解决以便我可以在客户端处理我的异常?

WCF 服务中的代码:

try
{

}
catch (FaultException fex)
{
    throw fex;
}
catch (Exception ex)
{
    throw ex;
} 

客户端代码:

try
{

}
catch (FaultException fex)
{
    Logger.AddExceptionToDb(fex);
}
catch (Exception ex)
{
    Logger.AddExceptionToDb(ex);
}
4

1 回答 1

5

您应该将[FaultContract(YourFaultClass)] 属性应用于将引发错误异常的方法。

   [OperationContract]
   [FaultContract(typeof(YourFaultClass))]
   void Foo(int par1);

如何从服务中扔掉它:

throw new FaultException<YourFaultClass>(new YourFaultClass());

如需更多帮助,请查看:http: //msdn.microsoft.com/en-us/library/cc949036.aspx

于 2013-05-13T11:44:19.213 回答