2011-01-24 73 views
11

有時我會發現某些應用程序允許它們在Windows上作爲服務運行,例如Apache HTTP Serverallows that。我經常將它作爲常規應用程序運行,並且從未遇到任何問題或限制。將應用程序作爲服務運行的優點

  • 這有什麼好處?
  • 當應用程序作爲服務運行時,是否允許應用程序執行任何操作?
  • 當我編寫服務與常規應用程序時,作爲開發人員,我有什麼優勢。

回答

13

將應用程序作爲服務運行的最大好處是即使在當前用戶註銷後(並且在用戶登錄之前將開始運行)它仍將繼續運行。此外,服務通常在本地「系統」帳戶下運行,而不是在特定用戶的登錄下運行(儘管服務可以且經常配置爲在特定用戶登錄下運行,通常專用於此目的)。

作爲一名開發人員,您可能不會注意到很多差異。如果出現問題,通常在桌面上運行的進程更容易調試。通常情況下,您可以將您的應用程序設置爲可以在任一模式下運行,這樣既易於開發又適合部署。

5

我想到的一件事是服務可以在用戶登錄系統之前啓動。我認爲服務是運行通常不具有前端GUI的守護進程的理想方式。用戶很難不經意地退出,並且它看不見並且不在意。

3

即使沒有用戶登錄,服務仍會運行。應用程序與用戶交互。

如果您同時需要,您可能需要有兩個組件,一個作爲服務運行,另一個與用戶交互。

相關問題