Asp.Net設定時間実行プログラム(タイミング実行)
最近**の中のプロジェクトをして、プロジェクトは一定の时间まで必要とした后に、プログラムは自动的に操作を実行します.タイミング操作のようなプログラムは、Systemを用いることができる.TimersネーミングスペースのTimerクラスはこのような問題を解決します.
Timerで問題を解決する構想は簡単で、まずTimerクラスのInterval属性(単位はミリ秒)を設定し、つまり時間間隔である.その後、TimerのElapsedのイベントに実行コードを書き、設定されたInterval間隔を過ぎるたびにElapsedのイベントが実行されます(これはVBプログラムのTimerコントロールとほとんど違いません).
では、どんなクラスを使うか分かりました.これらのコードはどこに書きますか?コードをGlobalに書きます.asax件の中で、VSの項目の上で右クリックして、点は--を追加して項目を新しくして、“グローバルアプリケーションクラス”を選んで、項目の中でGlobalがあります.asaxファイルです.
直接コードを明確に表現するには(まずGlobal.asaxファイルヘッダにsystem.Timersネーミングコントロールを導入します):
次に、TimerのElapsedイベントのコードを示します.
これでプログラムをタイミングで実行する目的を達成できます.
これは私のプロジェクトの中の定時実行で、フォーラムの中で定時実行の方案について聞いて、windowsサービスで比較的に安全だと言う人もいて、しばらくこの1種を研究していません、ほほほ.
Timerで問題を解決する構想は簡単で、まずTimerクラスのInterval属性(単位はミリ秒)を設定し、つまり時間間隔である.その後、TimerのElapsedのイベントに実行コードを書き、設定されたInterval間隔を過ぎるたびにElapsedのイベントが実行されます(これはVBプログラムのTimerコントロールとほとんど違いません).
では、どんなクラスを使うか分かりました.これらのコードはどこに書きますか?コードをGlobalに書きます.asax件の中で、VSの項目の上で右クリックして、点は--を追加して項目を新しくして、“グローバルアプリケーションクラス”を選んで、項目の中でGlobalがあります.asaxファイルです.
直接コードを明確に表現するには(まずGlobal.asaxファイルヘッダにsystem.Timersネーミングコントロールを導入します):
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);
}
次に、TimerのElapsedイベントのコードを示します.
void objTimer_Elapsed(object sender, ElapsedEventArgs e)
{
string Time = DateTime.Now.ToShortTimeString();//
// 。
string OrderTime = ConfigurationManager.AppSettings["OrderFoodTime"];
/* */
if(Time.Equals(OrderTime))
{
// , ,
}
}
これでプログラムをタイミングで実行する目的を達成できます.
これは私のプロジェクトの中の定時実行で、フォーラムの中で定時実行の方案について聞いて、windowsサービスで比較的に安全だと言う人もいて、しばらくこの1種を研究していません、ほほほ.