C# WCF错误和异常处理
在WCF服务中,我希望使用自定义错误处理错误和异常 我需要能够在错误返回的情况下 带有说明和错误代码的CustomFaultC# WCF错误和异常处理,c#,wcf,asp.net-4.0,C#,Wcf,Asp.net 4.0,在WCF服务中,我希望使用自定义错误处理错误和异常 我需要能够在错误返回的情况下 带有说明和错误代码的CustomFault 如何实现它?首先,您需要为自定义故障创建一个DataContract类。在您的情况下,这个类至少会有一个Error-Code属性和一个Description属性。接下来,在您的服务契约中,您需要使用FaultContract属性来修饰可能引发此错误的任何服务操作。例如: [OperationContract()] [FaultContract(typeof(MyCusto
如何实现它?首先,您需要为自定义故障创建一个DataContract类。在您的情况下,这个类至少会有一个Error-Code属性和一个Description属性。接下来,在您的服务契约中,您需要使用FaultContract属性来修饰可能引发此错误的任何服务操作。例如:
[OperationContract()]
[FaultContract(typeof(MyCustomFault))]
ResponseDataContract SomeServiceOperation(RequestDataContract request);
try
{
DoStuff();
}
catch (Exception e)
{
throw new FaultException<MyCustomFault>(new MyCustomFault
{
Description = "Oh No!",
ErrorCode = 1234
});
}
最后,在服务实现中,您需要将自定义错误作为FaultExcepton抛出。例如:
[OperationContract()]
[FaultContract(typeof(MyCustomFault))]
ResponseDataContract SomeServiceOperation(RequestDataContract request);
try
{
DoStuff();
}
catch (Exception e)
{
throw new FaultException<MyCustomFault>(new MyCustomFault
{
Description = "Oh No!",
ErrorCode = 1234
});
}
试试看
{
DoStuff();
}
捕获(例外e)
{
抛出新的FaultException(新的MyCustomFault
{
Description=“哦,不!”,
错误代码=1234
});
}