我有两个使用C#创建的Windows服务。
我希望其中一个服务调用第二个Windows服务中的函数。
该怎么做?
编辑:
问题在于我有两个正在运行的应用程序(我不需要它们作为服务进程),但我需要这两个应用程序进行通信,这两个应用程序在同一台服务器上。
我有两个使用C#创建的Windows服务。
我希望其中一个服务调用第二个Windows服务中的函数。
该怎么做?
编辑:
问题在于我有两个正在运行的应用程序(我不需要它们作为服务进程),但我需要这两个应用程序进行通信,这两个应用程序在同一台服务器上。
这些服务是否在同一台机器上?您是否拥有.NET 4?强烈建议使用最快的模式,即内存映射文件。
如果它们在同一台计算机上,但您没有.NET 4,或者处于同质化的Microsoft Windows网络中,则命名管道可能有效。更重要的是,我会使用WCF命名管道IPC。
我发现其他的答案都正确,但有点太复杂(WCF是大问题),而且不可扩展(内存和命名管道只能在同一台服务器上工作)。我建议您使用DotNetMQ消息系统。它易于使用和部署,并允许您在运行在不同服务器上的进程之间进行通信。