Asp.Net設定時間実行プログラム(タイミング実行)


最近**の中のプロジェクトをして、プロジェクトは一定の时间まで必要とした后に、プログラムは自动的に操作を実行します.タイミング操作のようなプログラムは、Systemを用いることができる.TimersネーミングスペースのTimerクラスはこのような問題を解決します.
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種を研究していません、ほほほ.