我需要在一个应用程序内订阅其他应用程序公开的事件。 我注意到许多人认为使用WCF命名管道是最佳实践。 我是对的,如果我选择WCF命名管道,我将不得不使用IIS?
顺便说一下,我一般有哪些选择?
答案 0 :(得分:5)
Named pipes是在同一台机器上进行IPC(进程间通信)的最快方法之一。已经存在了很长一段时间(NT4是第一个操作系统?)而不是特定于WCF。
但是,我不会通过ASP.NET使用WCF /命名管道,因为IIS不使用命名管道进行通信。这意味着如果IIS暂时没有收到HTTP请求,您的应用将关闭。如何托管IPC取决于应用程序的类型。如果您希望始终运行服务器,则应将其托管在Windows服务中。否则,您可以将其包含在桌面应用程序中。
您不一定要使用WCF,您可以直接使用命名管道(查看我的消息开头的链接)。这一切都取决于你的沟通有多复杂。
答案 1 :(得分:3)
我是对的,如果我选择WCF命名管道,我将不得不使用IIS顺便说一句,我一般有哪些选项?
不,不是真的。虽然这是一个选项,但您也有其他选择。像,
使用Internet信息服务(IIS)托管
您可以详细阅读here。
甚至在WCF和WCF之前存在命名管道肯定不是使用它们的唯一方法