c# - 进程间通信选项

标签 c# wcf named-pipes inter-process-communicat

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

顺便问一下,我通常有哪些选择?

最佳答案

Named pipes是在同一台机器上执行 IPC(进程间通信)的最快方法之一。它们已经存在了很长时间(NT4 是第一个操作系统吗?)并且不特定于 WCF。

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

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

不一定非要用WCF,可以直接用命名管道(看我帖子开头的链接)。这完全取决于您的沟通有多复杂。

关于c# - 进程间通信选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18437474/

相关文章:

c# - 在字符串中搜索特定的单词。 C#

c# - ServiceHost仅支持类服务类型

c# - 基于服务的系统中 session (跟踪)ID 的设计模式?

c# - 如何阻止 JIT 调试器介入崩溃的 wcf 服务?

WCF 仅本地 NamedPipe

c# - 部署时 Log4Net 不记录

未提供的 C# 数据库插入 : The parameterized query expects the parameter,

c# - Outlook 2013 加载项安装后未加载

c# - WCF HTTP 和 NamedPipe 服务

c - mkfifo 文件权限未正确执行