2008-12-09 139 views
0

我爲其中一個應用程序創建了服務。我如何在VB.net中創建一個可用於監視服務進度的系統托盤組件?有沒有辦法通過tcpip在多臺客戶端計算機上進行安裝,例如對於我們員工的計算機?監控自定義服務

回答

0

我想你的問題不在於如何真正做到了「traybar」 -thing,但如何與服務通信得到你想要的顯示器/ traybar程序來顯示信息?

它可以通過多種方式完成,API是一種方式,使用sendmessage/postmessage/getmessage是使2個正在運行的程序彼此通信而不必先存儲任何文件或數據庫中的任何內容的一種方式。

DDE是另一種方式。如果它需要通過網絡來完成這些東西,那麼有一種叫做NetDDE的東西,但是我沒有對NetDDE做任何事情,我無法幫助那裏的任何東西。

但是關於API和DDE,如果您想要一些說明,請隨時提出更多問題。

0

我會問第二個問題:有沒有一種方法可以在客戶機上遠程安裝軟件?

是的。但是它非常依賴你的環境。例如,如果您有Active Directory域,則可以使用組策略強制在客戶端框上安裝軟件。

如果你不喜歡那樣,或者你不在活動目錄中,你可以買一些類似Altiris的東西來推動安裝。

另一種選擇是使用登錄腳本,它將運行自定義程序來檢測程序是否已安裝並採取適當的措施。但是,你最好購買Altiris。

1

我們做的正是在這裏,與服務器上的一個單獨的線程,在一個XML格式返回狀態運行的可配置端口上的真正基本的HTTP服務器(沒有別的,只是) - 客戶端只使用一個Web請求在解析並正確顯示之前獲取XML。

這種方法還允許將來的擴展(詳細狀態,發送服務的控制命令,增加的關聯XSLT文件別處用於與正常的Web瀏覽器使用等)

0

對於交際部分,我有之前使用了遠程處理,而且工作得很好。通過一點點配置,你甚至可以讓它工作到另一臺機器。

1

你可以使用WCF來做到這一點。使用WCF你的服務會打開一個EndPoint,它會向調用者顯示狀態信息。然後,您可以構建可部署到員工工作站的托盤圖標應用程序。托盤圖標應用程序可以定期輪詢您的Windows服務託管的WCF服務並獲取狀態信息。我知道@Johan已經提到了Remoting,這是一個類似的方法。我推薦WCF,因爲編程API更簡單,恕我直言和WCF會給你更多的靈活性,關於網絡傳輸等。