2011-02-10 80 views
1

我的應用程序需要是一個服務(無論用戶是否登錄,它都需要運行),但我還需要某種客戶端控制/監督它正在執行的操作。什麼是最佳的方式來做到這一點?服務與用戶交互的最佳方式

  1. 寫一個單獨的應用與服務應用程序通信 - 我看到,在穩定性方面是最好的解決方案,因爲該應用程序將在業務應用有所分離系統事件

  2. 使用回調直接從服務應用程序加載UI表單 - 我認爲這更容易部署。

你認爲我該走哪條路?

+1

服務的重點在於它沒有直接的用戶交互。 – StingyJack 2011-02-10 21:45:34

回答

1

前者通常更理想。服務確實意味着沒有用戶交互的設計運行,並試圖與他們做UI的事情可能是一個巨大的痛苦。

Windows窗體應用程序和服務可以在多種方式溝通:命名管道,插座,DDE,等我使用命名管道在過去的控制/與服務交互,這是很容易得到特別是如果你只是需要服務,每隔一段時間就吐出一些隨機數據。客戶所要做的就是傾聽。

至於部署,Windows窗體應用程序可能沒有很多(如果有的話)服務本身沒有的依賴關係,因此部署只是在安裝程序包中包含另一個.exe。

2

我已經使用過去的第一個選項,因爲在嘗試從服務加載UI表單時(如選項2),您會遇到問題。您需要啓動另一個應用程序才能向用戶顯示錶單,因此將應用程序啓動基於用戶會話而非服務啓動會更有意義。

相關問題