2012-07-30 138 views

回答

8

你很可能想要使用Windows服務。

優點:

  • 您可以控制啓動過程
  • 自動啓動的程序是指在桌面需要上,而不是用戶登錄(與該用戶帳戶關聯和權限)的用戶,爲服務運行
  • 失敗的策略可以被定義(嘗試重新啓動ñ如果失敗次運行特定的程序)
  • 依賴關係可以定義(如果你依賴於其他服務隊)
  • 你可以用你的腳本在不可見的窗口
  • 您可以輕鬆地啓動/停止/啓動腳本(net start <scriptname>

從這裏引:What is the benefit of developing the application as a windows service?

+2

優秀的答案。我會補充一點,對於高級場景,您可以直接在您的服務中託管一個小型Web應用程序。這將允許您遠程控制或監視服務(只要注意安全隱患)。一個例子是[Rabbitmq管理服務](http://www.rabbitmq.com/management.html)。一個小型嵌入式Web服務器允許amdinistrator遠程監控服務 – 2012-07-30 13:06:09

0

Windows服務,因爲它不需要登錄用戶。

0

我會說; Windows服務。

在這種情況下(其中包括)您不需要用戶登錄,您可以配置它以便在出於某種原因關閉時自動重新啓動,並且您(可以)擁有廣泛的權限系統。

0

Windows服務一般。如果服務器在Windows服務可以自動啓動時重新啓動,則需要重新啓動控制檯應用程序。

3

運行控制檯應用程序不是其他人所說的選項。

如果您只是希望每x分鐘運行一次任務,最簡單的選項是使用控制檯應用程序的計劃任務

Windows服務有它的好處,但實施和部署要複雜一點。但是,如果您的應用需要「始終開啓」(例如需要響應外部觸發器,聽取消息隊列......),則Windows服務是唯一的選擇。正如其他人所說,在服務基礎設施還提供了更多的管理功能,內置了與事件日誌,重新啓動和故障恢復選項集成...

+0

謝謝Jeroenh!是的,這正是我的要求,我應該能夠觸發任務說,每X分鐘..你能告訴它有多複雜,它與服務? – Juni 2012-07-30 13:01:44

+0

http://www.pedautreppe.com/post/How-to-create-(and-deploy)-a-a-windows-service-in-C-.aspx – jeroenh 2012-07-30 13:41:16

+0

但正如我在我的回答中所述,如果你只是需要每x分鐘運行一次任務,計劃任務就容易得多,並且具有許多相同的優點(可以運行無人值守,輕鬆部署,與事件日誌集成等) – jeroenh 2012-07-30 13:42:43

相關問題