WCF异常处理
我有五个独立的服务,每个服务对应于不同的数据库表,如产品、用户、订单等 我正在尝试通过WCF发送自定义异常。我已浏览互联网,并将自定义异常包装在故障异常中:WCF异常处理,wcf,exception,Wcf,Exception,我有五个独立的服务,每个服务对应于不同的数据库表,如产品、用户、订单等 我正在尝试通过WCF发送自定义异常。我已浏览互联网,并将自定义异常包装在故障异常中: interface [FaultContract(typeof(NoSuchInstanceException))] cs throw new FaultException<NoSuchInstanceException>(e, new FaultReason(e.Message), newFaultCode("UserFa
interface
[FaultContract(typeof(NoSuchInstanceException))]
cs
throw new FaultException<NoSuchInstanceException>(e, new FaultReason(e.Message), newFaultCode("UserFault"));
接口
[FaultContract(类型(NoSuchInstanceException))]
反恐精英
抛出新的FaultException(e、新的FaultReason(e.Message)、新的FaultCode(“UserFault”);
问题是,当我更新服务时,客户端代理将消失。我浏览了互联网,发现了以下解决方案,即向服务引用SVCMAP文件添加映射
我的问题是,每个服务都需要将自定义异常添加到映射中,但当我这样做时。将显示一个错误,说明已在其他服务之一中定义了异常。我是否将这些服务合并到一个服务中?非常感谢您的帮助。谢谢我可以想出两个选择:
- 将服务合并为一个服务-如果多个服务共享相同的数据类型,则会在客户端上出现此问题
- 将共享数据类型移动到单独的dll(类库项目)中。然后从服务器和客户端引用该共享数据类型库。创建服务引用时,请选择重用数据类型的选项
<NamespaceMapping
TargetNamespace="http://schemas.datacontract.org/2004/07/MyCompany.MyProject.Exceptions" ClrNamespace="MyCompany.MyProject.Exceptions" />
</NamespaceMappings>