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>