进程间通信选项

本文关键字:选项 进程间通信 | 更新日期: 2023-09-27 18:28:56

我需要在一个应用程序内部订阅另一个应用暴露的事件。我注意到许多人认为使用WCF命名管道是最佳实践。如果我选择WCF命名管道,我将不得不使用IIS,我是对的吗?

顺便问一下,我一般有什么选择?

进程间通信选项

命名管道是在同一台机器上进行IPC(进程间通信)的最快方法之一。已经存在很长一段时间了(NT4是第一个操作系统吗?),并且不是WCF专用的。

但是,我不会通过ASP.NET使用WCF/命名管道,因为IIS不使用命名管道进行通信。这意味着,如果IIS有一段时间没有收到HTTP请求,您的应用程序将关闭。

您应该如何托管IPC取决于应用程序的类型。如果你想让你的服务器一直运行,你应该在windows服务中托管它。否则,您可以将其包含在桌面应用程序中。

您不一定要使用WCF,您可以直接使用命名管道(查看我的消息开头的链接)。这完全取决于你的通信有多复杂。

如果我选择WCF命名管道,我将不得不使用IIS,顺便说一句,我通常有什么选择?

不,不是真的。虽然这是一种选择,但你也有其他选择。比如

  • 自助托管您的服务
  • 在Windows服务中托管
  • 使用Internet信息服务(IIS)托管

    你可以在这里详细阅读。

命名管道甚至在WCF之前就已经存在,WCF当然不是使用它们的唯一方法