如前所述,我們的例子是實現往檔案寫如字元日期,下面就是實現這一任務的方法:
public接下來,我們建立乙個配置物件,告訴排程引擎執行什麼任務和執行的時間間隔。inte***ce
ischedulerjob
public下面就是排程引擎,定時執行配置物件的任務class
samplejob : ischedulerjob
//向檔案寫入內容
streamwriter x
=new
streamwriter(file_name,
true
,system.text.encoding.default);
if(flag) x.write(
"計畫任務測試開始:");
x.write(""
+c);
x.close();}}
publicclass
schedulerconfiguration
}public
arraylist jobs }
//排程配置類的建構函式
public
schedulerconfiguration(
intnewsleepinterval)
}
public最後還需要在程式退出時進行銷毀:class
scheduler
public
void
start()}}
}
public好了,在vs.net裡建立乙個c#的web應用程式工程,建立taskscheduler.cs類,並修改相應的global.asax.cs檔案。為了能看到效果,我們再建立乙個表單webform1.aspx,定時重新整理來檢查我們所記錄的資料:system.threading.thread schedulerthread
=null
;protected
void
=new
schedulerconfiguration(
1000*3
);config.jobs.add(
newsamplejob());
scheduler scheduler
=new
scheduler(config);
system.threading.threadstart mythreadstart
=new
system.threading.threadstart(scheduler.start);
system.threading.thread schedulerthread
=new
system.threading.thread(mythreadstart);
schedulerthread.start();
}
計畫任務測試開始:
2003-13-10 11:08:15
2003-13-10 11:08:18
2003-13-10 11:08:21
2003-13-10 11:08:24
2003-13-10 11:08:27
2003-13-10 11:08:30
需要說明的是,以上只是在web應用程式中執行計畫任務的簡單例子,對於多個任務來說,需要在不同的執行緒內進行工作,對計畫的安排也是很簡單的,實際還需要站點堵塞,當機的情況。另外這裡也沒有進行錯誤的處理等工作,相信大家會寫出更加完美的**的。
...@ page language="
c#"codebehind="
webform1.aspx.cs
"autoeventwireup="
false
"inherits="
cstest.webform1
"%>
doctype html public "-//w3c//dtd html 4.0 transitional//en"
>
<
html
>
<
head
>
<
title
>
在web應用程式中執行計畫任務的例子
在Web應用程式中執行計畫任務
在業務複雜的應用程式中,有時候會要求乙個或者多個任務在一定的時間或者一定的時間間隔內計畫進行,比如定時備份或同步資料庫,定時傳送電子郵件等,我們稱之為計畫任務。實現計畫任務的方法也有很多,可以採用sqlagent執行儲存過程來實現,也可以採用windows任務排程程式來實現,也可以使用windows...
在Web應用程式中執行計畫任務(多執行緒)
對工程進行編譯並執行,就可以看到結果了,結果如下 計畫任務測試開始 2003 13 10 11 08 15 2003 13 10 11 08 18 2003 13 10 11 08 21 2003 13 10 11 08 24 2003 13 10 11 08 27 2003 13 10 11 08...
在Web應用程式中執行計畫任務(多執行緒)
在業務複雜的應用程式中,有時候會要求乙個或者多個任務在一定的時間或者一定的時間間隔內計畫進行,比如定時備份或同步資料庫,定時傳送電子郵件等,我們稱之為計畫任務。實現計畫任務的方法也有很多,可以採用sqlagent執行儲存過程來實現,也可以採用windows任務排程程式來實現,也可以使用windows...