与本地Windows服务通信的“正确”方式

Ban*_*San 4 .net c# windows windows-services

与本地运行的Windows服务进行通信的“正确”或至少“典型”方式是什么?

我可以看到,这是非常微不足道的使用WCF打开一个HTTP或TCP端点,但是这两个都是真正的网络协议。

我应该选择哪种协议来调用方法并从本地Windows服务接收响应?

rod*_*olk 5

您可以使用:

  • 套接字通信(TCP,HTTP或其他):即使您说它们是网络协议,优点是您可能已经知道它们
  • 命名管道:这是在同一节点中运行的进程之间进行通信的一个很好的选择:https : //msdn.microsoft.com/zh-cn/library/windows/desktop/aa365590(v=vs.85).aspx
  • 共享内存:这是最快的
  • 其他第三方,更高级别的库,例如使用套接字的Thrift