6

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

顺便说一句,我一般有什么选择?

4

2 回答 2

5

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

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

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

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

于 2013-08-26T06:10:52.813 回答
3

我是否正确,如果我选择 WCF 命名管道,我将不得不使用 IIS 顺便说一句,我一般有哪些选择?

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

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

    你可以在这里详细阅读。

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

于 2013-08-26T06:01:52.087 回答