WCF FaultException <t>未在客户端中捕获,而是作为服务故障捕获

时间:2015-08-09 18:25:12

标签: wcf exception faultexception

我为FaultException配置了服务,但在客户端我没有得到

中捕获的异常
catch (FaultException<MyServiceFault> fe)
{
} 

相反它始终被捕获

catch (FaultException fx) 
{ 
}

我正在使用selfhost和channelfactory。

我的服务:

[FaultContract(typeof(MyServiceFault))]
public string HelloWorld()
{
    int a=5;
    try
    {
        var b = a/0;
    }
    catch(Exception e)
    {
        throw new FaultException<MyServiceFault>(new MyServiceFault(){Message ="Divide by zero"}, "Divide by Zero");
    }
}

我在[DataContract]上也有MyServiceFault属性。 我想知道我是否错过任何配置。

1 个答案:

答案 0 :(得分:1)

我在这里回答了类似的问题:Proper way to throw exception over WCF

尝试声明您的操作:

[FaultContractAttribute(
        typeof(MyServiceFault),
        Action = "", 
        Name = "MyServiceFault", 
        Namespace = "YourNamespace")]
public string HelloWorld()

希望它有所帮助。