2013-08-26 59 views
6

我需要在一個應用程序內訂閱其他應用程序公開的事件。 我注意到很多人認爲使用WCF命名管道是最好的做法。 我是對的,如果我選擇WCF命名管道,我將不得不使用IIS?進程間通信選項

順便說一下,我一般有什麼選擇?

+0

命名管道不是一個WCF的具體事情..你可以從那裏開始(評論,因爲,我見過他們..從來沒有實現自己) –

回答

5

Named pipes是在同一臺機器上做的IPC(進程間通信)的最快方式之一。已經存在了很長一段時間(NT4是第一個OS?),而不是WCF特有的。

但是我不會使用WCF /通過ASP.NET的命名管道,因爲IIS不使用命名管道進行通信。這意味着如果IIS有一段時間沒有收到HTTP請求,您的應用程序將關閉。

你應該如何託管你的IPC取決於應用程序的類型。如果你想永遠讓你的服務器運行,你應該將它託管在一個Windows服務中。否則,您可以將其包含在桌面應用程序中。

你不一定非要使用WCF,你可以直接使用命名管道(查看我的消息開頭的鏈接)。這完全取決於你的交流有多複雜。

3

我是對的,如果我選擇WCF命名管道,我將不得不使用IIS並順便說一下,我一般有什麼選擇?

不,不是真的。雖然這是一個選項,但您還有其他選項。像,

  • 自託管你的服務
  • 在Windows服務
  • 主機託管使用Internet信息服務(IIS)

    ,你可以詳細閱讀here

命名管道甚至WCF之前就已經存在和WCF肯定是不使用它們的唯一方法