【发布时间】:2014-03-03 23:36:34
【问题描述】:
我最近开始使用 WCF。我在控制台程序中创建了一个 WCF 服务,并将该控制台程序作为服务本身。在程序运行时,它被托管为单例,方式如下:
var endPointUri = new Uri("http://127.0.0.1:13370/RuntimeService");
var host = new ServiceHost(this, endPointUri);
host.Open();
注意this 是如何被指向实例的。这很好用,我的控制台应用程序实现了我的IRuntimeService 就好了。
现在,问题来了。
如何在解决方案的另一个项目中为该服务添加服务客户端?现在,有一个问题是我必须首先启动控制台应用程序(以便托管服务),然后以某种方式将它添加到 Visual Studio 中(否则它不会可见,对吗?)。当我想更新服务时也会出现同样的问题。
现在,作为一种解决方法,我打开控制台应用程序的已编译 .EXE 文件。然后,在我的项目中,我在 .EXE 运行时更新/添加服务客户端。然而,从长远来看,这并不是很聪明,因为我在这个项目上有几个开发人员,我希望它有点自动化(也因为我有一个构建服务器,它运行一些单元测试并根据需要部署服务器)。
有什么方法可以以编程方式(可能通过命令行)更新我的 WCF 服务客户端?或者更好的是,在服务本身未运行时更新它?
【问题讨论】:
标签: wcf