是否可以使用“添加服务引用”选项在WCF中添加自托管服务?

时间:2012-04-02 08:13:48

标签: wcf service-reference self-hosting

我正在创建一个WCF服务。起初我有一个WCF服务库项目和一个引用该库的控制台项目。只要服务库有一个有效的App.Config文件,当我在我的客户端项目中使用“添加服务引用”时,它工作正常。

但是,现在我想将服务库和控制台主机合并到一个控制台项目中。毕竟,之前的控制台项目非常简单。但问题出现了:当我选择“添加服务引用”并给出我在新控制台项目的App.config文件中定义的端点时,它找不到任何服务引用。我认为是因为当添加服务引用功能打开时,wcfsvchost.exe不会托管服务(我觉得这很有意义)。但我想不出让它发挥作用的方法。那么,如果我的服务是一个单一的控制台托管项目,我该如何添加服务引用?

1 个答案:

答案 0 :(得分:0)

最简单的方法是运行WCF服务,生成服务引用,然后将其合并到单个应用程序中。您只需要在app.config中更改地址即可。但请注意这一点,因为您应该更改客户端部分的地址而不是app.config的服务器部分。

但是,当您决定更改服务数据合同并重新生成服务引用时,此方法将来很难维护。您可能需要考虑以下事项:将服务引用包装到程序集中,然后使用程序集。这样,您就可以在需要时重新生成服务引用。