2011-09-21 34 views
-1

可能重複:
C# Execute function at specific time在特定時間運行的C#代碼

我想在某些再寄一次運行某些函數試圖定時器control.it不工作。我的問題是:如何在C#中每天19:00運行一個函數? 有什麼辦法來檢查時間,並有一個Timer對象?

定時器代碼:

int Interval(TimeSpan gorevZamani) 
{ 
    if ((gorevZamani - DateTime.Now.TimeOfDay).TotalMilliseconds > 0.0) 
     return (int)(gorevZamani - DateTime.Now.TimeOfDay).TotalMilliseconds; 
    else 
     return (int)((gorevZamani - DateTime.Now.TimeOfDay).Add(TimeSpan.FromDays(1)).TotalMilliseconds); 
} 
+9

如果您想在19:00每天運行代碼,最簡單的解決方案可能是創建一個[計劃任務](http://windows.microsoft.com/en-US/windows7/schedule-a-任務)在您的操作系統。爲什麼重新發明輪子? – Heinzi

+0

@ Heinzi - 感謝您的評論。 – Selo

回答

1

在問題集儘可能重複:C# Execute function at specific time人們建議使用Quartz.NET或Windows任務計劃程序。我相信,正如我在以前的類似問題中已經提到的幾次,Windows任務計劃程序更好,因爲您沒有任何代碼,並讓Windows爲您安排時間安排,而您只專注於根據您的應用程序的真實商業案例,這是Windows無法爲您做的事情,然後依靠現有技術將事情粘合在一起,無需調試或重新創建已完成的任何內容,並且無論如何都可用。

+0

+1,用於提示Quarts.NET,這是很棒的事情 – Burimi

1

使用計劃任務。執行此操作的好方法是在MSDN here上記錄的at命令。