使用窗口服務的C#我想根據我的配置標籤運行的服務,其實我會在這裏設定值的app.config中的三個標籤下面提到邏輯
<add key ="FIREHOST_TIME" value ="5" ></add>
<add key ="SETDAYS" value ="3" ></add>
<add key ="RUN_NOW" value ="1" ></add> <!-- 0=no, 1=yes-->
如果假設RUN_NOW值是1,
當服務啓動時,它現在要做的工作,併爲下一個實例它應該運行基於由SETDAYS標籤。
如果假設RUN_NOW值爲0,
當服務啓動時,它不應該這樣做,應該等待工作SETDAYS來,然後下一個實例應該爲每一套天標籤運行。
這裏下面我已經粘貼代碼:
protected override void OnStart(string[] args)
{
DateTime tenAM = DateTime.Today.AddHours(FIREHOST_TIME);
if (DateTime.Now > tenAM)
tenAM = tenAM.AddDays(SETDAYS);
// calculate milliseconds until the next 10:00 AM.
int timeToFirstExecution = (int)tenAM.Subtract(DateTime.Now).TotalMilliseconds;
// calculate the number of milliseconds in 24 hours.
int timeBetweenCalls = (int)new TimeSpan(24, 0, 0).TotalMilliseconds;
TimerCallback methodToExecute = kickstart;
// start the timer. The timer will execute "ProcessFile" when the number of seconds between now and
// the next 10:00 AM elapse. After that, it will execute every 24 hours.
System.Threading.Timer timer = new System.Threading.Timer(methodToExecute, null, timeToFirstExecution, timeBetweenCalls);
}
所以現在我不得不使用標籤幫助RUN_NOW和實現邏輯,請指教如何執行。
的文檔你的問題是過高的水平,人們可能會發現很難在這裏你需要有更好的問題回答合乎邏輯的問題。 – 2012-07-16 11:44:34