一尘不染

GUI和Windows服务通讯

c#

我知道从Vista开始,C#不能将UI表单直接挂钩到Windows服务。这是在Microsoft网站上声明的。

在这方面,我的问题是:“从UI到服务的最佳通信方式是什么?”

我听说过远程处理,Web服务和直接TCP。还有其他方法吗?他们如何与前面提到的方法进行比较?它们实施起来有多复杂?

我的应用程序用于Intranet,而不是Internet。Microsoft平台将是双方,因此互操作性不是一个因素,但是速度是一个因素。我的意思是我想遍历网络上最小的数据包。

TIA


阅读 579

收藏
2020-05-19

共1个答案

一尘不染

如果要使用.NET开发,请使用WCF进行进程间通信。WCF大大简化了开发,因为与特定的通信机制(例如,套接字,管道等)相关的复杂性在统一的编程模型之后被抽象了。因此,无论您选择使用http,tcp还是命名管道作为传输机制都没有关系,编程模型是相同的。

我强烈推荐Juval Lowy的《
WCF编程

》一书。您也可以访问他的网站IDesign.net以获得免费的WCF代码示例。

有关WCF的概述,请在dnrTV上观看此免费视频。它涵盖了WCF的目的,并通过一些易于理解的示例演示了WCF编程。

如果尚未创建Windows服务,但计划在C#中创建Windows服务,则可以按照此处的逐步操作进行操作。

2020-05-19