我的問題非常簡單。 我有一個應該每天自動執行一次的應用程序。我有這樣的情景沒有現成的經驗(我前一段時間與IBM CONTROL-M的工作,但猜測這是方式更完整,複雜和昂貴=))執行計劃任務的方法 - Windows/.NET
我想到了兩個可能的解決方案:
- 在Windows任務計劃程序中創建一個任務,它將執行應用程序;
- 將該應用程序實現爲一個可全天候運行的窗口服務,但只能根據當前時間執行所需的操作。
哪種方法的優點/缺點?
是否有另一種方法可以做到這一點?
在此先感謝。
我的問題非常簡單。 我有一個應該每天自動執行一次的應用程序。我有這樣的情景沒有現成的經驗(我前一段時間與IBM CONTROL-M的工作,但猜測這是方式更完整,複雜和昂貴=))執行計劃任務的方法 - Windows/.NET
我想到了兩個可能的解決方案:
哪種方法的優點/缺點?
是否有另一種方法可以做到這一點?
在此先感謝。
如果只執行一次一天(左右),那麼就去做爲由Windows任務調度執行的常規命令行應用程序。任務調度器已經具有確定何時啓動程序,傳入參數以及與任務調度相關的其他任何信息所需的全部UI。
做這種類型的函數作爲Windows服務的唯一真正原因是它需要比每分鐘一次更高的執行分辨率。然而,windows服務的主要缺點是你必須管理多久/何時啓動它的邏輯。另一個原因是應用程序始終在運行,如果您的代碼存在問題,則可能會泄漏內存。
在Unix/Linux上,您可以使用cron作業計劃任務來執行任務。 MS Windows的版本稱爲任務計劃程序並且它已經是a service that run 24/7 and performs the needed actions depending on the time.
Create a repeating task with the Task Scheduler運行您的應用程序。創建,安裝和配置服務應用程序並不是微不足道的。與創建標準的Forms或命令行應用程序相比,這是一個更爲複雜的過程,無論如何您都不需要這樣做。
,可能是另一個有趣的圖書館是Quartz.NET
我信徒你的意思是Windows任務計劃程序,而不是Windows任務管理器。我編輯了這個問題來反映這一點。 – Amr
看起來更適合[超級用戶](http://superuser.com/)。 –