ASP.NET 定時執行任務(定時器)[日期:2010-12-15] 來源:Net探索者 作者:未知 [字型:大 中 小]
伺服器端採用C#文法:
1.在Global.asax檔案中匯入命名空間
<%@ Import Namespace="System.Timers" %>
2.Global.asax檔案中的Application_Start()方法內寫如下代碼:
System.Timers.Timer objTimer = new Timer();
objTimer.Interval = 時間; //這個時間單位毫秒,比如10秒,就寫10000
objTimer.Enabled = true;
objTimer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed);
3.Global.asax檔案中添加一個方法
void objTimer_Elapsed(object sender, ElapsedEventArgs e)
{
//這個方法內實現你想做的事情。
//例如:修改Application的某一個值等等。
}
以上3步則可以在指定
using System;
using System.Timers;
namespace 定時器ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(TimeEvent);
// 設定引發時間的時間間隔 此處設定為1秒(1000毫秒)
aTimer.Interval = 1000;
aTimer.Enabled = true;
Console.WriteLine("按斷行符號鍵結束程式");
Console.WriteLine(" 等待程式的執行......");
Console.ReadLine();
}
// 當時間發生的時候需要進行的邏輯處理等
// 在這裡僅僅是一種方式,可以實現這樣的方式很多.
private static void TimeEvent(object source, ElapsedEventArgs e)
{
// 得到 hour minute second 如果等於某個值就開始執行某個程式。
int intHour = e.SignalTime.Hour;
int intMinute = e.SignalTime.Minute;
int intSecond = e.SignalTime.Second;
// 定製時間; 比如 在10:30 :00 的時候執行某個函數
int iHour = 10;
int iMinute = 30;
int iSecond = 00;
// 設定 每秒鐘的開始執行一次
if( intSecond == iSecond )
{
Console.WriteLine("每秒鐘的開始執行一次!");
}
// 設定 每個小時的30分鐘開始執行
if( intMinute == iMinute && intSecond == iSecond )
{
Console.WriteLine("每個小時的30分鐘開始執行一次!");
}
// 設定 每天的10:30:00開始執行程式
if( intHour == iHour && intMinute == iMinute && intSecond == iSecond )
{
Console.WriteLine("在每天10點30分開始執行!");
}
}
}
}
時間間隔執行這個objTimer_Elapsed()方法,即達到你要得效果