如何在Windows服务之间进行通信

MoS*_*She 6 c# service wcf windows-services ipc

我有2个使用C#创建的Windows服务.

我想在第二个Windows服务中调用一个函数的服务之一.

我该怎么办?

编辑:

问题是我必须运行的应用程序(我不需要它们而不是服务进程也很好)但我需要 这个2应用程序进行通信,这2个应用程序在同一台服务器上,

jgl*_*uie 5

当然。您可以使用许多 IPC 机制。远程处理、TCP/HTTP 侦听器等。

任一服务是否提供在其他服务之外可能有用的功能?

有关更多想法,请参阅此线程: C# 中的 IPC 机制 - 用法和最佳实践

编辑:正如 Davide Piras 指出的,如果 WCF 可供您使用,请考虑使用它。它将简化生活。WCF 配置文件有时很难使用,但也有一个很好的工具:http : //msdn.microsoft.com/en-us/library/ms732009.aspx

  • 应尽可能避免远程处理和 HTTP 以支持 WCF (2认同)

Jes*_*cer 5

服务是否在同一个盒子上?你有.NET 4吗?强烈建议使用尽可能最快的模式,内存映射文件

如果它们位于同一个机器上,但您没有 .NET 4,或者位于同质 Microsoft Windows 网络中,则命名管道可以工作。更重要的是,我将使用WCF 而不是命名管道