WCF异常处理

时间:2011-11-17 09:29:41

标签: wcf exception

我有五个单独的服务,每个服务对应一个不同的数据库表,如产品,用户,订单等。

我正在尝试在WCF中发送自定义异常。我浏览了互联网,并将自定义异常包含在故障异常中:

interface
[FaultContract(typeof(NoSuchInstanceException))] 

cs
throw new FaultException<NoSuchInstanceException>(e, new FaultReason(e.Message), newFaultCode("UserFault"));

问题是当我更新服务时客户端代理消失了。我浏览了互联网并找到了以下解决方案,其中说明了向服务引用SVCMAP文件添加映射。 http://travisspencer.com/blog/2007/11/

<NamespaceMapping
    TargetNamespace="http://schemas.datacontract.org/2004/07/MyCompany.MyProject.Exceptions" ClrNamespace="MyCompany.MyProject.Exceptions" />
</NamespaceMappings>

我的问题是每个服务都需要添加到映射的自定义异常,但是当我这样做时。显示错误,表示已在其他服务之一中定义了异常。我是否将服务合并为一项服务?任何帮助都非常感谢。感谢

1 个答案:

答案 0 :(得分:0)

我可以想到两个选择:

  • 将服务合并为一个 - 拥有多个共享相同数据类型的服务会在客户端上出现此问题。
  • 将共享数据类型移动到单独的dll(类库项目)中。然后从服务器和客户端引用该共享数据类型库。创建服务引用时,请选择重用数据类型的选项。