这更是一个设计问题:WCF数据边界设计
可以说,我有我绝对要保密的一些内部类型定义(不暴露我的服务消费者。然而,我确实需要交流。数据与服务用户,我想与用户分享的一些类型与内部类型完全一样,而另一些类型是内部类型的简化版本。是否相同对象 - 我主要关心的是内部对象将永远不会暴露在外面的世界,我的第二个担心是现在使太多重复代码...
这个想法是,我真的不想有内部对象的情况被错误地暴露在WCF(这只是发生在我身上的,甚至没有被标记为[DataContract]内部对象),所以我想到了以下方法:
设计我WCF服务合同文件没有任何引用内部类型命名空间。 - 这将提供更好的安全性。
在服务实现代码上实现内部类型及其相应公共代表对象之间的转换。
这是正确的做法吗?有没有更好的解决上述问题的已知模式?
非常感谢, 奥弗
你是如何设法获得内部对象的,而这些内部对象甚至没有被标记为内部对象?您是否添加了对实现该类的程序集的引用? – Manfred 2010-08-15 19:14:20