asp.net 定時間點執(zhí)行任務(wù)的簡易解決辦法
更新時間:2009年12月06日 22:35:29 作者:
這里的定時間點執(zhí)行任務(wù),指的是每天的某個時間執(zhí)行一項任務(wù)。
比如每天凌晨七點的時候email發(fā)送一次報表。
這里首先想到的就是利用 Global.asax 文件來實現(xiàn), 以下Global文件的內(nèi)容。
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Threading" %>
<script runat="server">
//這里使用靜態(tài)保持對這處Timer實例的引用,以免GC
private static System.Threading.Timer timer = null;
protected void Application_Start(object sender, EventArgs e) {
//計算現(xiàn)在到目標時間要過的時間段。
DateTime LuckTime = DateTime.Now.Date.Add(new TimeSpan(7, 0, 0));
TimeSpan span = LuckTime - DateTime.Now;
if (span < TimeSpan.Zero) {
span = LuckTime.AddDays(1d) - DateTime.Now;
}
//按需傳遞的狀態(tài)或者對象。
object state = new object();
//定義計時器
timer = new System.Threading.Timer(
new TimerCallback(CertainTask), state,
span, TimeSpan.FromTicks(TimeSpan.TicksPerDay));
}
protected void Application_End(object sender, EventArgs e) {
//結(jié)束時記得釋放
if (timer != null) { timer.Dispose(); }
}
//這里是指定時間執(zhí)行的代碼,必須是靜態(tài)的。
private static void CertainTask(object state) {
//這里寫你的任務(wù)邏輯
}
</script>
這里首先想到的就是利用 Global.asax 文件來實現(xiàn), 以下Global文件的內(nèi)容。
復(fù)制代碼 代碼如下:
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Threading" %>
<script runat="server">
//這里使用靜態(tài)保持對這處Timer實例的引用,以免GC
private static System.Threading.Timer timer = null;
protected void Application_Start(object sender, EventArgs e) {
//計算現(xiàn)在到目標時間要過的時間段。
DateTime LuckTime = DateTime.Now.Date.Add(new TimeSpan(7, 0, 0));
TimeSpan span = LuckTime - DateTime.Now;
if (span < TimeSpan.Zero) {
span = LuckTime.AddDays(1d) - DateTime.Now;
}
//按需傳遞的狀態(tài)或者對象。
object state = new object();
//定義計時器
timer = new System.Threading.Timer(
new TimerCallback(CertainTask), state,
span, TimeSpan.FromTicks(TimeSpan.TicksPerDay));
}
protected void Application_End(object sender, EventArgs e) {
//結(jié)束時記得釋放
if (timer != null) { timer.Dispose(); }
}
//這里是指定時間執(zhí)行的代碼,必須是靜態(tài)的。
private static void CertainTask(object state) {
//這里寫你的任務(wù)邏輯
}
</script>
您可能感興趣的文章:
- 利用Timer在ASP.NET中實現(xiàn)計劃任務(wù)的方法
- Asp.Net(C#)自動執(zhí)行計劃任務(wù)的程序?qū)嵗治龇窒?/a>
- asp.net 在客戶端顯示服務(wù)器端任務(wù)處理進度條的探討
- asp.net 每天定點執(zhí)行任務(wù)
- asp.net 計劃任務(wù)管理程序?qū)崿F(xiàn),多線程任務(wù)加載
- C#(asp.net)多線程用法示例(可用于同時處理多個任務(wù))
- ASP.NET 計劃任務(wù)實現(xiàn)方法(不使用外接程序,.net內(nèi)部機制實現(xiàn))
- 詳解免費開源的DotNet任務(wù)調(diào)度組件Quartz.NET(.NET組件介紹之五)
- Asp.net ajax實現(xiàn)任務(wù)提示頁面的簡單代碼
- .NET Core基于Generic Host實現(xiàn)后臺任務(wù)方法教程
相關(guān)文章
Asp.net 在三層架構(gòu)中事務(wù)的使用實例代碼
再我知道的.net中,執(zhí)行事務(wù)有兩種方法,一種是自動事物,使用起來相當簡單,但是需要配置服務(wù)器,如果你用的是web共享主機,即沒有權(quán)限配置自己的服務(wù)器,那就沒必要用這種了,接下了我講下.net中最普通的事務(wù)SqlTransaction2012-10-10
ASP.NET實現(xiàn)可以縮放和旋轉(zhuǎn)的圖片預(yù)覽頁效果
本文詳細介紹了如何在ASP.NET?WebForms中實現(xiàn)一個功能豐富的圖片預(yù)覽頁面,通過結(jié)合HTML、CSS和JavaScript,用戶可以方便地對圖片進行放大、縮小以及旋轉(zhuǎn)操作,感興趣的朋友跟隨小編一起看看吧2024-08-08
asp.net實現(xiàn)根據(jù)城市獲取天氣預(yù)報的方法
這篇文章主要介紹了asp.net實現(xiàn)根據(jù)城市獲取天氣預(yù)報的方法,涉及asp.net調(diào)用新浪接口獲取天氣預(yù)報信息的實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下2015-12-12
.net6環(huán)境下使用RestSharp請求GBK編碼網(wǎng)頁亂碼的解決方案
這篇文章介紹了.net6環(huán)境下使用RestSharp請求GBK編碼網(wǎng)頁亂碼的解決方案,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
基于ASP.NET的lucene.net全文搜索實現(xiàn)步驟
使用lucene.net搜索分為兩個部分,首先是創(chuàng)建索引,創(chuàng)建文本內(nèi)容的索引,其次是根據(jù)創(chuàng)建的索引進行搜索, 感興趣的朋友可以了解下或許對你有所幫助2013-02-02
.net/c# memcached緩存獲取所有緩存鍵的方法步驟
這篇文章主要介紹了.net/c# memcached緩存獲取所有緩存鍵的方法步驟,大家參考使用吧2013-12-12
ASP.NET MVC 數(shù)據(jù)驗證及相關(guān)內(nèi)容
這篇文章主要介紹了ASP.NET MVC 數(shù)據(jù)驗證及相關(guān)內(nèi)容的相關(guān)資料,需要的朋友可以參考下2014-10-10
如何使用ASP.NET創(chuàng)建網(wǎng)站并設(shè)計web頁面
這篇文章主要介紹了如何使用ASP.NET創(chuàng)建網(wǎng)站,幫助大家更好的理解和學(xué)習(xí)使用ASP.NET技術(shù),感興趣的朋友可以了解下2021-04-04

