本文和大家分享一下ASP.NET網(wǎng)站定時(shí)執(zhí)行后臺(tái)任務(wù)的代碼。如定時(shí)地對(duì)隊(duì)列中的待發(fā)送電子郵件進(jìn)行發(fā)送或定時(shí)地檢查應(yīng)用程序的運(yùn)行狀況。本文介紹實(shí)現(xiàn)ASP.NET網(wǎng)站后臺(tái)任務(wù)的一個(gè)方法。
先了解一下Global.asax.cs文件中的Application_Start這個(gè)函數(shù)。當(dāng)網(wǎng)站啟動(dòng)后,第一個(gè)用戶訪問(wèn)該網(wǎng)站時(shí),這里的代碼會(huì)被執(zhí)行。我們?cè)谶@里創(chuàng)建一個(gè)線程用來(lái)執(zhí)行后臺(tái)任務(wù)。
Code [http://www.xueit.com]1 Thread backgroundThread = new Thread(new ThreadStart(Tasks.Start));
2 backgroundThread.Start();
在這個(gè)線程啟動(dòng)時(shí),我們用一個(gè)定時(shí)器來(lái)使任務(wù)定時(shí)執(zhí)行。
Code [http://www.xueit.com]1 Timer t = new Timer(10000); // 每10秒執(zhí)行一次
2 t.Elapsed = new ElapsedEventHandler(WriteFile); // WriteFile方法是要被定時(shí)執(zhí)行的方法
3 t.Enabled = true;
4 t.AutoReset = true;
在這個(gè)例子中,被定時(shí)執(zhí)行的任務(wù)是向一個(gè)文本文件中寫入當(dāng)前時(shí)間。
Code [http://www.xueit.com]StreamWriter sw = new StreamWriter(filePath,true);
sw.WriteLine("{0}\n", DateTime.Now.ToString());
sw.Flush();
sw.Close();
這樣就實(shí)現(xiàn)了ASP.NET網(wǎng)站后臺(tái)執(zhí)行一個(gè)定時(shí)任務(wù)。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。