【发布时间】:2011-01-20 14:13:27
【问题描述】:
我正在构建一组共享通用数据协定(或实体,如果您愿意)的 WCF 服务。这些是用 DataContract 和 DataMember 属性修饰的简单数据传输对象。我明确指定名称和命名空间。为了遵循 IDesign 建议的每个服务合同平均有 12 名成员的原则,我将我的服务项目分解为多个服务。
我的数据合同在一个单独的程序集中,如果他们使用 .Net,我可以将其提供给我们的客户。他们可以告诉他们的服务引用在引用的程序集中重用类型。但是,如果他们不使用 .net 并且他们使用 2 个服务,这两个服务都使用相同的实体,那么我假设他们会得到一个模棱两可的参考消息。如果我不引用数据协定 dll,我可以在 Visual Studio 中看到这一点。
我的问题是,我可以在我的服务中做些什么,或者他们可以在客户端应用程序中做些什么来绕过必须限定数据合同来自哪个代理?
【问题讨论】:
-
我也有同样的问题。我尝试使用下面文章中的建议,但没有任何乐趣。但是,我使用的是 WCF RESTful 服务(这可能与下面的方法不起作用有关),所以我最终只是引用了一个包含我的数据协定的通用 DLL,并将服务引用放在一起。由于我使用简单的 HTTP Web 请求调用我的服务,因此我实际上不需要项目中的服务引用。
标签: wcf service datacontract reusability