2011-11-10 66 views
0

我有一個應用程序正在使用基於時間的quartz.net,即某些作業在某些時間點執行。現在爲了測試的目的,我想在託管服務器上花時間來證明所有的工作都是按照預期進行的。我遇到的問題是我們的公司網絡上無法提前發佈時間,所有服務器都是同步的。Quartz.Net - 提供自己的DateTimeService

我想要做的是創建一個DateTimeService,我的應用程序可以隨時使用它來獲取當前的日期時間。對我來說聽起來不錯,問題在於反正我可以讓quartz.net使用這項服務?

任何意見將不勝感激。

回答

1

恕我直言,你可以更換FUNC代表在靜態類SystemTime:通過設置

SystemTime.UtcNow =() => new DateTime(2011,1,2); 

https://github.com/quartznet/quartznet/blob/master/src/Quartz/SystemTime.cs

設置爲靜態的時間,或用FUNC委託來代替它你的服務。

+0

附加信息:您需要重新編譯quartz.net才能做到這一點。 SystemTime類不是被注入的,而是被用作靜態的。 – yorah

+0

SystemTime是一個委託,因此您可以將其替換爲另一個委託而不用重新編譯,即使它是一個靜態函數指針,您可以讓它指向任何地方。 – Andreas

相關問題