我的项目要求我执行一项Windows服务,该服务执行一些后端操作,而WPF GUI向用户显示信息,并允许用户进行一些配置。更准确地说,我的后端服务无限期地执行反恶意软件操作,而GUI需要与服务通信以获取数据和启用/禁用操作。
现在我在GUI和我的服务之间进行了这种通信,我在这个论坛上进行了研究,大多数人建议使用我原始服务中托管的WCF服务。我已经这样做了,在我的后端服务Onstart()函数中托管了一个WCF服务。我的GUI也能够引用WCF服务,按钮可以调用WCF托管函数。
现在我不明白WCF将如何与托管它的服务进行通信。这是因为使用WCF的目的是在GUI和我原来的Windows服务之间建立一个通信通道。我想将窗口服务功能暴露给GUI,而不是我在WCF服务中编写的那些。我研究了很多,找不到相关的文章。有人在GUI上按下按钮时,请帮我调用我的Windows服务功能。如果已有文章请转介给我。我缺乏时间,任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
如果您的WCF服务应该调用您的Windows服务的方法,并且它们位于不同的程序集中,最简单的方法可能是从界面中的Windows服务中提取您要调用的方法。将该接口放入WCF服务的程序集中,并将一个此类对象作为构造函数参数。然后反对。在Windows服务中引用WCF服务程序集,并在使Windows服务实现所需的接口后将服务传递给WCF服务。