我经历了很多帖子但是,我无法清除与WCF服务相关的一些基本疑问,如下所示:
为什么要为Service.Contracts
和Service.Implementation
保留单独的类库项目程序集?
我们可以在单个组件中多次实现一个接口。
它假设创建--WCF应用程序项目并将接口分别维护到单独的文件夹和SVC.cs文件中。
添加服务引用不是一个好选择,因为它将所有模式添加到客户端。 svcutil.exe也做同样的事情。那么,在客户端使用wcf服务的最佳方法是什么?
答案 0 :(得分:1)
所有内容都在这篇精彩文章中解释 - WCF the Manual Way…the Right Way。
基本上,添加服务参考和 svcutil 只会导致客户代理随着时间的推移而过时;以及解决方案具有为基本相同的类定义的多种类型的事实。
更新:自从写完这个答案后,我已经学会了在另一座城堡中找到答案,所以我在下面更新:
基本上, WCF手动方式......正确的方式描述的是,而不是使用添加服务参考,而是将您的WCF系统划分为单独的dll for:
服务和客户都将正常的代码引用(不是服务引用)添加到合同dll 。
通过这种方式,服务和客户端使用相同的类型(而不是客户端中的代码生成的类型),并且当合同更改时 - 服务和客户端都被强制更新,而不会出现编译错误。没有更多过时的客户。