2013-01-19 67 views
1

我正在開發一個窗口服務,我必須安排它。時間表設置爲每週三天,每天四次。在任何時候開始服務時,它必須選擇下一個執行時間。C#:獲取窗口服務的下一個執行時間

該下一個執行時間可以在同一天或下一個預定的日期(可能與一天或兩天的差距)。

+1

總是很高興看到你已經嘗試過。 – Brett

+1

你爲什麼要手動啓動它? Windows服務是一種在後臺持續運行的事物,並且在時間到了時做它應該做的事情。作爲替代方案,您可以使用您也可以進行微調的計劃任務。 –

+0

我必須首次啓動它。在任何時候我會啓動它,它必須選擇下一個執行時間。 – Lali

回答

1

看看Task Scheduler Managed Library (Codeplex)。我相信它是由Microsoft自己維護的。

一旦添加DLL引用Microsoft.Win32.TaskScheduler,你真的可以很容易地使用它像這樣:

var taskService = new TaskService(); 
var task = taskService.NewTask(); 

task.Triggers.Add(new WeeklyTrigger(DaysOfTheWeek.Friday, 1)); 
task.Actions.Add(new ExecAction("YourProgram.exe", null, null)); 

task.RootFolder.RegisterTaskDefinition("YourTaskName", task); 

這將註冊運行每週五,執行YourProgram.exe的任務。

相關問題