我的問題更多的是關於到達相同的目的地,但必須有另一種方式。現在即時創建一個DateTime
並與另一個DateTime
比較,並檢查,如果我設置的時間差可能是正確的。到目前爲止這麼好,但我不能接受,每當循環將進入該代碼時,我都會創建一個新的屬性。在windows服務上定義時間後運行方法
是否有任何可能的方式到達相同的目的地,但以某種更有效的方式?
我得到了你們一些示例代碼在這裏:
private void RunService()
{
// Runs as long as the service didn't got a stop call.
while (!SetStop)
{
//Get MinutesToWait
this.MinutesToWait = 5;
DateTime CheckRunTime = this.LastRun;
CheckRunTime.AddMinutes(this.MinutesToWait);
if (DateTime.Now >= CheckRunTime)
{
// Imagine some good and smart and totally runnable code?
}
}
}
你可以使用一個計時器https://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx –
你是否發現過'System.Threading.Timer '對象?但說實話,我會*強烈*敦促你重新考慮。 [*「如果您正在編寫運行計時器的Windows服務,則應重新評估您的解決方案。」*](https://weblogs.asp.net/jongalloway/428303)計劃任務將更合適。 –
@CodyGray這是一個非常有趣的博客帖子。我應該考慮用計劃任務來做這件事......但是,我仍然對解決方案感興趣。 – Cataklysim