我正在做一个客户端服务器应用程序。服务器部分由WCF服务实现。WCF服务通过服务契约公开数据类型。客户端是模块化的,并使用MEF进行DI。在客户端,我有一个引用WCF服务的基础结构模块。基础结构模块知道WCF数据类型。我的问题是,有没有可能让引用基础结构的其他模块知道这些数据类型,而不需要在每个模块中添加对WCF服务的引用。是否有任何公开WCF数据类型的方法
发布于 2013-05-08 19:34:18
通常,您有一个契约dll。此协定dll包含服务接口和所有依赖类。然后,您的WCF服务和任何客户端组件都将引用此协定程序集。
由于协定程序集只包含接口和POCOs (普通的旧CLR对象,只包含数据,不包含方法或逻辑),因此几乎可以从任何地方引用它,而不会泄露任何有关您的基础结构的信息。
发布于 2013-05-08 19:48:59
nvoights answere在这里可能是正确的,但值得一提的是,如果你同时控制服务器和客户端,那么如果你想把公共对象放在一个dll中,并且让WCF生成类型同时使用和忽略,那么你就可以做到。在某些情况下,这比同时管理服务器类型和WCF生成的等价类型要好。
https://stackoverflow.com/questions/16439397
复制相似问题