2010-09-04 38 views
0

我需要一種方法來交換進程和Windows服務之間的數據。 這個過程(Windows窗體應用程序,控制檯應用程序,將來也是一個Web解決方案)需要指導並與Windows服務交互。 我想知道哪種方式是最好的,以配合這一點。我將在C#中編寫解決方案,.NET Framework版本並不重要。 在過去,我使用了Remoting(Activator),WCF Interface with Contracts,Inter Process Exchange IPC和一些命名管道實現。你有什麼經驗?其他方法?Windows服務/進程 - 交換數據/指令

回答

0

我會選擇WCF。這是目前最現代,也許是最受支持的方法。它在大多數情況下「替代」了舊技術。 WCF的優點在於,如果您需要將服務移至其他協議,那麼只需在配置中完成即可。

如果您希望Windows服務始終與其他應用程序在同一臺計算機上運行,​​則可以使用帶有netNamedBinding的WCF。如果您決定將服務移動到其他機器上,則必須更改配置(可能爲netTcpBinding),因爲WCF中的命名管道僅限於IPC。

0

我以前的經歷總是在IPCChannel上,主要是因爲我必須參與的唯一代碼就是進行任何形式的進程間通信。我從來沒有造成過任何問題,而且我輸入的代碼也很快樂。

這個問題唯一真正的答案是,無論你最舒服。