我正在构建一组WCF服务,它们共享公共数据合同(或实体,如果您喜欢这样称呼)。这些是带有DataContract和DataMember属性的简单数据传输对象。我明确指定名称和命名空间。为了遵循IDesign建议的每个服务契约平均12个成员的原则,我将我的服务项目拆分为多个服务。
我的数据合同位于一个单独的程序集中,如果客户端使用.Net,则可以提供给他们。他们可以告诉他们的服务引用在引用的程序集中重用类型。但是如果他们没有使用.Net,并且他们使用了两个使用相同实体的服务,那么我认为他们会收到模棱两可的引用消息。如果我不引用数据合同dll,在Visual Studio中可以看到这一点。
我的问题是,我的服务是否有什么可以做的,或者客户端应用程序可以做些什么来避免不得不限定数据合同来自哪个代理的限制?