狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP.NET定時執行任務 (不使用外接程序,.net內部機制實現)

Ccoffee
2024年8月1日 10:33 本文熱度 972
:ASP.NET定時執行任務 (不使用外接程序,.net內部機制實現)


在asp.net中要不使用其他插件的情況下只能使用定時器來檢查, 并執行任務.

以下講解步驟:

1. 在Global.asax 文件中作如下修改


1
2
3
4
5
6
7
8
9
10
11
void  Application_Start( object  sender, EventArgs e)
{
     // 在應用程序啟動時運行的代碼
     //定義定時器
     //1000表示1秒的意思
     System.Timers.Timer myTimer =  new  System.Timers.Timer(1000);
     //TaskAction.SetContent 表示要調用的方法
     myTimer.Elapsed +=  new  System.Timers.ElapsedEventHandler(TaskAction.SetContent);
     myTimer.Enabled =  true ;
     myTimer.AutoReset =  true ;
}


Application_Start 只有在訪問一次之后才會觸發.

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void  Session_End( object  sender, EventArgs e)
{
     //下面的代碼是關鍵,可解決IIS應用程序池自動回收的問題
     System.Threading.Thread.Sleep(1000);
     //觸發事件, 寫入提示信息
     TaskAction.SetContent();
     //這里設置你的web地址,可以隨便指向你的任意一個aspx頁面甚至不存在的頁面,目的是要激發Application_Start
     //使用您自己的URL
     string  url =  "http://henw.cnblog.com" ;
     System.Net.HttpWebRequest myHttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
     System.Net.HttpWebResponse myHttpWebResponse = (System.Net.HttpWebResponse)myHttpWebRequest.GetResponse();
     System.IO.Stream receiveStream = myHttpWebResponse.GetResponseStream(); //得到回寫的字節流
 
     // 在會話結束時運行的代碼。
     // 注意: 只有在 Web.config 文件中的 sessionstate 模式設置為 InProc 時,才會引發 Session_End 事件。
     // 如果會話模式設置為 StateServer
     // 或 SQLServer,則不會引發該事件。
}


Session_End 中的方法主要是解決IIS應用程序池自動回收的問題.

 

2. 添加計劃任務類 TaskAction


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Timers;
 
/// <summary>
///Action 的摘要說明
/// </summary>
public  static  class  TaskAction
{
     private  static  string  content =  "" ;
     /// <summary>
     /// 輸出信息存儲的地方.
     /// </summary>
     public  static  string  Content
     {
         get  {  return  TaskAction.content; }
         set  { TaskAction.content +=  "<div>"  + value+ "</div>" ; }
     }
     /// <summary>
     /// 定時器委托任務 調用的方法
     /// </summary>
     /// <param name="source"></param>
     /// <param name="e"></param>
     public  static  void  SetContent( object  source, ElapsedEventArgs e)
     {
         Content = DateTime.Now.ToString( "yyyy-MM-dd HH:mm:ss" );
     }
     /// <summary>
     /// 應用池回收的時候調用的方法
     /// </summary>
     public  static  void  SetContent()
     {
         Content =  "END: "  + DateTime.Now.ToString( "yyyy-MM-dd HH:mm:ss" );
     }
}



3. 執行結果輸出[Default.aspx] (此步僅僅為了觀看結果才寫的頁面) 
在Default.aspx頁面 添加


1
2
3
< div >
     <%=TaskAction.Content %>
</ div >


 

4. 結果輸出

歡迎大家一起探討


原文地址:http://www.cnblogs.com/henw/archive/2011/09/23/2186239.html


該文章在 2024/8/1 10:34:00 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved