用Timer解決問題的思路很簡單首先設定Timer類的Interval屬性(單位是毫秒)也就是時間間隔然後在Timer的Elapsed的事件裡寫執行代碼每過一個設置好的Interval時間間隔將執行一次Elapsed中的事件 (這和VB程序中的Timer控件基本沒有區別)
那知道了用什麼類這些代碼要寫在哪裡呢?把代碼寫在Globalasax件中在VS的項目上右鍵點添加》新建項選“全局應用程序類”項目中就會有Globalasax文件了
為了表達清楚直接上代碼(首先在Globalasax文件頭部引入systemTimers命名控件)
<span style="fontsize:px;"> public class Global : SystemWebHttpApplication
{
//在網站運行時這段代碼同時啟動
protected void Application_Start(object sender EventArgs e)
{
SystemTimersTimer objTimer = new SystemTimersTimer();
objTimerInterval = *; //這個時間單位毫秒
objTimerEnabled = true; //設置Timer類的可用性
//將Timer的Elapsed事件綁定到新建立的timer對象上
objTimerElapsed += new ElapsedEventHandler(objTimer_Elapsed);
}</span>
下面是在Timer的Elapsed事件中的代碼
<span style="fontsize:px;">void objTimer_Elapsed(object sender ElapsedEventArgs e)
{
string Time = DateTimeNowToShortTimeString();//獲得當前時間
//從配置文件裡獲得當前設置的時間
string OrderTime = ConfigurationManagerAppSettings["OrderFoodTime"];
/*測試數據*/
if(TimeEquals(OrderTime))
{
//如果時間相等執行你要執行的操作這裡可以調用你程序中的其他類的方法
}
}</span>
這樣就能達到定時執行程序的目的了
這是用在我項目中的定時執行在論壇裡問關於定時執行的方案也有人說用windows服務比較安全
From:http://tw.wingwit.com/Article/program/net/201311/14115.html