如何使用WCF在应用程序和Windows服务之间进行通信?

时间:2013-12-23 18:12:29

标签: vb.net wcf

我已经阅读了一些有关创建WCF服务的教程。我正在使用Visual Studio 2012.我有一个非常简单的WCF服务库(vb.net)和Windows应用程序(vb.net)通过WCF进行通信。这是一个开始。

但是,我的项目要求我执行以下操作:

  • 我的Windows服务 - 这已经是一个拥有它的任务的应用程序。
  • 我的应用程序 - 这是一个已经开发的应用程序。

我需要服务与应用程序通信。该服务需要将以下信息发送到Windows应用程序:

  • 状态更新
  • 度量信息(主要是计数的整数)

我需要应用程序向服务发送信息。它需要发送:

  • 重新加载配置命令

应该相对简单,但直到今天我才与WCF合作过。所以我有一些问题......

  1. 我是否需要将当前的Windows服务重新运行到WCF服务中?
  2. 由于它不在IIS中,我是否还要创建一个WCF服务库,还是以某种方式将其转换为Windows服务?
  3. 设置不同类型通信的最佳方式是什么? (即发送特定指标并重新加载命令)
  4. 可能主要问题是除了我当前的Windows服务和应用程序之外,还需要哪些组件才能使其工作?

    我希望这很清楚:(我想我很困惑......但我希望不是

2 个答案:

答案 0 :(得分:1)

您的Windows服务可以托管WCF服务。同样,如果需要,您的应用程序可以托管WCF服务。应用程序可以与Windows服务中的WCF服务进行通信,Windows服务的WCF可以与应用程序中的WCF服务进行通信。根据通信的性质,您还可以使用回调通道来允许Windows服务的WCF回调应用程序。

答案 1 :(得分:0)

我认为您应该将WCF Windows服务配置为使用named pipes。如果您的Windows服务已经构建,那么最简单的方法是将另一个作为WCF Windows服务构建并包装已有的功能。

希望我帮忙!