客户端中的FaultException处理?

时间:2013-05-13 10:21:12

标签: wcf exception exception-handling faultexception

我正在尝试在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);
}

1 个答案:

答案 0 :(得分:6)

您应该应用 [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