2011-04-11 13 views
1

は、私はすべての10秒のようなグローバル変数を更新するためのタイマーを持つようにしたいので、私は私のGlobal.asax.csにタイマーを置く:サーバー側のタイマー?

void Application_Start(object sender, EventArgs e) 
{ 
    Timer aTimer = new Timer(); 
    aTimer.Interval = 10*1000; 
    aTimer.Tick += aTimer_Tick;    
    aTimer.Start(); 
} 

void aTimer_Tick(object sender, EventArgs e) 
{ 
    // Update Data 
} 

しかし、奇妙なことは何も10秒後に起こりませんです。私はそれをそうすることが可能かどうか疑問に思いますか?

ありがとうございます。

+0

実行されておらず、結果がウェブページに表示されないだけですか?データベーステーブルまたはテキストファイルに書き込んでみてください... – noonand

答えて

3

利用System.Timers.Timer代わりのSystem.Windows.Forms.Timer

かつてのイベントハンドラとしての用途Elaspedとは機能します。後者はwinformsに適合しており、アプリケーション起動時ではなくForm1_Load()で使用する必要があります。

1

Application_Startボイドが閉じられた後にTimerオブジェクトが破棄されたと思います。ですから、それをアプリケーション変数に割り当ててみてください。ほとんどどこでもアプリケーションで期待通りに

1

ASP.NETの要求とイベントは、時間がかかるようには設計されていません。達成しようとしていること(実現しようとしているもの)に応じて、Windowsサービスを作成することを検討する必要があります。

関連する問題