程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Asp.net定時執行程序

Asp.net定時執行程序

編輯:關於ASP.NET

     用Timer解決問題的思路很簡單,首先設定Timer類的Interval屬性(單位是毫秒),也就是時間間隔;然後在Timer的Elapsed的事件裡寫執行代碼,每過一個設置好的Interval時間間隔,將執行一次Elapsed中的事件 (這和VB程序中的Timer控件基本沒有區別)。
    那知道了用什麼類,這些代碼要寫在哪裡呢?把代碼寫在Global.asax件中,在VS的項目上右鍵,點添加--》新建項,選“全局應用程序類”,項目中就會有Global.asax文件了。

    為了表達清楚直接上代碼(首先在Global.asax文件頭部引入system.Timers命名控件):

    <span style="font-size:18px;">    public class Global : System.Web.HttpApplication
        {
            //在網站運行時這段代碼同時啟動
            protected void Application_Start(object sender, EventArgs e)
            {
                
                System.Timers.Timer objTimer = new System.Timers.Timer();
                objTimer.Interval = 60*1000;    //這個時間單位:毫秒
                objTimer.Enabled = true;        //設置Timer類的可用性
                //將Timer的Elapsed事件綁定到新建立的timer對象上
                objTimer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed); 
    
            }</span>

    下面是在Timer的Elapsed事件中的代碼

    <span style="font-size:18px;">void objTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
    
                
                string Time = DateTime.Now.ToShortTimeString();//獲得當前時間
    			//從配置文件裡獲得當前設置的時間。
                string OrderTime = ConfigurationManager.AppSettings["OrderFoodTime"];
    
                /*測試數據*/
                if(Time.Equals(OrderTime))
                {
                    //如果時間相等,執行你要執行的操作,這裡可以調用你程序中的其他類的方法
                }
    }</span>

    這樣就能達到定時執行程序的目的了。

    這是用在我項目中的定時執行,在論壇裡問關於定時執行的方案,也有人說用windows服務比較安全

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved