我的小组正在开发一个基于服务的 (.NET WCF) 应用程序,我们正在尝试决定如何处理内部服务中的异常。我们应该抛出异常吗?返回序列化为 XML 的异常?只返回错误码?
请记住,用户永远不会看到这些异常,它仅适用于应用程序的其他部分。
WCF 用途SoapFaults
作为将异常从服务传输到客户端或从客户端传输到服务的本机方式。
您可以使用以下方法声明自定义 SOAP 错误FaultContract
合约接口中的属性:
例如:
[ServiceContract(Namespace="foobar")]
interface IContract
{
[OperationContract]
[FaultContract(typeof(CustomFault))]
void DoSomething();
}
[DataContract(Namespace="Foobar")]
class CustomFault
{
[DataMember]
public string error;
public CustomFault(string err)
{
error = err;
}
}
class myService : IContract
{
public void DoSomething()
{
throw new FaultException<CustomFault>( new CustomFault("Custom Exception!"));
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)