c# - GUI 和 Windows 服务通信

标签 c# .net user-interface windows-services communication

我知道自 Vista 以来,C# 无法将 UI 窗体直接挂接到 Windows 服务。这在 Microsoft 网站上有说明。

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

我听说过 Remoting、Web 服务和直接 TCP。还有其他方法吗?它们与前面提到的方法相比排名如何?它们的实现有多复杂?

我的应用程序是供 Intranet 使用,而不是 Internet。双方都有微软平台,因此互操作性不是一个因素,但速度才是。我的意思是我想通过网络上尽可能小的数据包。

TIA

最佳答案

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

我强烈推荐 Juval Lowy 的书 Programming WCF Services对于所有 WCF。您也可以访问他的网站,IDesign.net , 免费的 WCF 代码示例。

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

如果您尚未创建 Windows 服务但计划在 C# 中创建,您可以按照分步操作 here .

关于c# - GUI 和 Windows 服务通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1773046/

相关文章:

java - Java中轮流使用按钮

c# - 如何从 Windows 服务访问 SQL 数据库?

c# - 验证正则表达式而不捕获异常?

c# - LINQ to Entities 使用 .date 分组失败

c# - 在 WinForms 桌面应用程序中使用 jQuery?

C# 编译的 lambda 表达式实例创建和/或垃圾收集?

java - 如果我要包含图形用户界面,我是否需要重建我的应用程序?

python - 从桌面文本文件创建一列并在 python tkinter 中将其识别为正面、负面或中性句子

c# - 回发发生在 asp.net 中丢失的 javascript 列表框项目

c# - 当为密码创建哈希+盐时,有没有办法避免将盐保存为数据库中的单独字段