2009-02-26 23 views
0

我有一個作爲Windows服務和ac#庫程序集(.dll)構建的應用程序。爲了管理和維護此服務,我想添加運行命令行應用程序的功能,該應用程序告訴上一次服務歸檔文件,下次計劃這樣做,最後一次運行的狀態以及服務創建的文件的位置。從Windows服務和控制檯應用程序訪問相同的運行代碼?

寫一個服務和庫可以與另一個應用程序共享數據的最佳體系結構是什麼?我正在使用.net 2.0。

回答

2

.NET中進程間通信的方式是通過遠程處理(即使兩個進程在同一臺計算機上)。其他答覆提出了進程間交流的替代辦法,不需要進行遠程處理。

1

我爲此使用WCF併爲我想支持的命令/事件創建契約定義。

+0

出色答卷的響應。不過,我應該提到我使用VS .net2.0。 – 2009-02-26 18:28:19

+0

是的,並編輯了問題。 – bzlm 2009-02-26 18:29:11

1

選項涌現在腦海裏,我已經在過去適用於:

  • 將信息保存到數據庫 (如果你有一個手)
  • 實現一個 「狀態監視器」型線程上 服務客戶端可以通過TCP/IP等
1

一個相當簡單的方法連接到 和查詢到的信息存儲在一個本地配置/噸這兩個應用程序都可以訪問的ext文件。甚至可以將其放置在註冊表項中。

2

最好的架構可能會使您的服務成爲可以報告其狀態(以及任何您想要的信息)的「服務器」。使用WCF這個像ocdecio建議會使它非常簡單。

1

+1只是讓服務提供(以及任何其他數據),當它被查詢(簡單TCP,RPC,Web服務,或其他)

我會讓它非常通用的 - 像

QueryInfo(一些標識符) 有一些字符串,返回值或其它指標,該服務不知道你在說什麼,不能得到的信息,或者給後面的信息

相關問題