【发布时间】:2013-09-11 21:17:51
【问题描述】:
我有一个包含 3 个项目的解决方案
- Winform 客户端
- Windows 服务中托管的 WCF 服务
- Windows 服务中托管的 WCF 代理
客户端(第 1 项)通过服务(第 2 项)与代理(第 3 项)对话 - 全部使用 WCF。 客户端(第 1 项)通过服务(第 2 项)从 SQL 数据库获取信息 - 使用 WCF。
这就是我的设计方式。 第 1 项包含一个 WCF 客户端,通过 WCF 与第 2 项通信 第 2 项包含 WCF 服务,因此它可以为第 1 项请求提供服务。它还包含一个 WCF 客户端(与 3 对话) 第 3 项包含 WCF 服务,因此它可以为第 2 项请求提供服务。
我在项目 1 的项目中添加对项目 2 的服务引用 我在项目 2 的项目中添加对项目 3 的服务引用
如果一切都在一个解决方案中,应该这样做吗?
因为第 2 项和第 3 项自托管在 2 个 Windows 服务中,所以每次我重新编译我的代码时,我都必须在 Services.MSC 中手动停止第 2 项和第 3 项服务,编译、启动第 1 项和第 2 项服务和最后通过在 Visual Studio 中按 play 来运行我的 Winform 客户端。 有没有更好更简单的方法来完成这一切?
【问题讨论】:
-
I add a service reference to item 2 in item 1's project i add a service reference to item 3 in item 2's project为什么?您所有的项目都是不同的 Windows 进程,这就是您使用WCF将它们连接在一起的原因。不需要通过相互添加引用来获得这种依赖关系。 -
我不明白 - 使用 WCF,您必须将您的 wcf 客户端的引用添加到您的 wcf 服务?
-
不,你没有。您可以添加
Service Reference,而不是Assembly Reference。 -
这就是我所做的 - 添加服务参考
标签: c# performance wcf wcf-data-services wcf-binding