【发布时间】:2011-12-07 16:20:17
【问题描述】:
在 WCF 服务中,我想使用自定义故障来处理错误和异常。
我需要能够在错误返回的情况下
带有描述和错误代码的CustomFault
我该如何实现它?
【问题讨论】:
标签: c# wcf asp.net-4.0
在 WCF 服务中,我想使用自定义故障来处理错误和异常。
我需要能够在错误返回的情况下
带有描述和错误代码的CustomFault
我该如何实现它?
【问题讨论】:
标签: c# wcf asp.net-4.0
首先,您需要为您的自定义故障创建一个 DataContract 类。听起来至少在您的情况下,此类将具有错误代码属性和描述属性。接下来,在您的服务合同中,您需要使用 FaultContract 属性装饰任何可能引发此错误的服务操作。例如:
[OperationContract()]
[FaultContract(typeof(MyCustomFault))]
ResponseDataContract SomeServiceOperation(RequestDataContract request);
最后,在您的服务实现中,您需要将自定义错误作为 FaultExcepton 抛出。例如:
try
{
DoStuff();
}
catch (Exception e)
{
throw new FaultException<MyCustomFault>(new MyCustomFault
{
Description = "Oh No!",
ErrorCode = 1234
});
}
【讨论】: