【问题标题】:Inter-Process communication options进程间通信选项
【发布时间】:2013-08-28 13:12:05
【问题描述】:

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

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

【问题讨论】:

  • 命名管道不是 WCF 特有的东西。你可以从那里开始(评论是因为,我见过它们。。我自己从来没有实现过)

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


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    如果我选择 WCF 命名管道,我将不得不使用 IIS,我说得对吗?顺便问一下,我通常有哪些选择?

    不,不是真的。虽然这是一个选项,但您也有其他选项。喜欢,

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

      你可以详细阅读here

    命名管道早在 WCF 之前就已经存在,而且 WCF 肯定不是使用它们的唯一方法

    【讨论】:

      猜你喜欢
      • 2017-06-19
      • 2013-01-03
      • 1970-01-01
      • 2011-05-04
      相关资源
      最近更新 更多