2
如果我需要一個任務在後臺每小時運行一次,我可以只使用Timer
對象,這顯然會使用單獨的線程:http://msdn.microsoft.com/en-us/library/zdzx8wx8.aspx?如果使用System.Threading.Timer,是否需要BackgroundWorker?
由此看來,沒有必要爲我的目的使用BackgroundWorker
。它是否正確?
如果我需要一個任務在後臺每小時運行一次,我可以只使用Timer
對象,這顯然會使用單獨的線程:http://msdn.microsoft.com/en-us/library/zdzx8wx8.aspx?如果使用System.Threading.Timer,是否需要BackgroundWorker?
由此看來,沒有必要爲我的目的使用BackgroundWorker
。它是否正確?
這很大程度上取決於你的任務是什麼。 BackgroundWorker組件將爲您提供除定時器之外的其他幾個功能,包括cancellation support,progress reporting等等。然而,如果你只是想每小時踢一些東西而不需要更多的東西,那麼定時器是一個非常輕量級的選擇。
您是否研究過使用Task Scheduler作爲另一個選項?這裏有一個整潔的包裝:http://taskscheduler.codeplex.com/
似乎任務計劃程序選項將需要應用程序以管理權限運行。 – CJ7
@ CJ7 - 如果我沒有記錯,任務的安全主體設置將允許您自定義任務運行的權限。 –