2012-03-22 55 views
0

我有一個基本的Windows服務,做一些數據轉換。有分離的圖形用戶界面,允許用戶更改一些配置,這需要被推薦到Windows Serivice運行。他們兩個都運行相同的盒子並使用C#.NET實現。除了互斥,事件等進程間通信機制之外,哪種通信方式是最好的方式。 另外我想避免將它作爲Web服務實現,因爲它不是web服務。如何調用使用.NET創建的Windows服務?

+3

WFC呢? – zmbq 2012-03-22 12:26:31

+0

是的,我做了類似於WCF的事情 – Nick 2012-03-22 12:27:42

回答

3

我會使用WCF服務進行通信。

您可以使用netNamedPipe綁定,但可能無法在Windows 2008/Windows 7上運行,因爲服務在會話0中運行,並且所有用戶代碼都在會話> 0中運行,並且它們將無法通信。

所以我在我自己的項目中使用了netTcpBinding。

0

如果這兩個進程都不會移動到不同的機器上,你可以使用memory mapped files作爲通信機制。

如果情況並非如此,WCF是一個不錯的選擇。

0

由於您正在處理服務的配置數據,因此我會將其保存在某處。數據庫,文件,註冊表等.UI寫入信息,服務在適當的時候讀取它(例如每次運行)。