ASP.NET下增加定时器功能

在ASP.NET中增加GLOBAL.ASAX文件,此文件中所增加的内容(变量及函数)具有全局范围,代码如下:

<%@ Application Language="C#" %>
<script runat="server">
   
    System.Timers.Timer tmr = new System.Timers.Timer(1000*60);
    void Application_Start(object sender, EventArgs e)
    {
        // 應用程式啟動時執行的程式碼
        tmr.Enabled = true;
        tmr.AutoReset = true;
        tmr.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);   

        tmr.Start();


       

    }
   
    void Application_End(object sender, EventArgs e)
    {
        //  應用程式關閉時執行的程式碼

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // 發生未處理錯誤時執行的程式碼

    }

    void Session_Start(object sender, EventArgs e)
    {
        // 啟動新工作階段時執行的程式碼
        if (tmr.Enabled == false)
        {
            tmr.Enabled = true;
            tmr.AutoReset = true;
            tmr.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);

            tmr.Start();
        }
    }

    void Session_End(object sender, EventArgs e)
    {
        // 工作階段結束時執行的程式碼。
        // 注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時,
        // 才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer
        // 或 SQLServer,就不會引發這個事件。

    }

    private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)//1分鍾定時處理函數
    {
        PubFuns.sendMobileMessages();
       
      
    }
</script>

 

你可能感兴趣的:(asp.net)