2012-01-20 13 views
0

Global.asaxを使用してジョブスケジューラを実装したWebアプリケーションを開発しています。私はスレッドを使用して、特定の期間、ジョブを開始しました。Webサイトの公開後にGlobal.asaxのスレッドが機能しない

ビジュアルスタジオでアプリケーションを実行すると問題なく動作します。しかし、それを公開してサーバーに展開すると、スレッドは機能しません。

この問題を解決するのを手伝ってください。これに代わる方法はありますか?

、以下のサンプルコードを見つける

protected void Application_Start() 
    { 
     Thread thread = new Thread(new ThreadStart(ThreadFunc)); 
     thread.IsBackground = true; 
     thread.Name = "ThreadFunc"; 
     thread.Start(); 
    } 

    protected void ThreadFunc() 
    { 
     System.Timers.Timer t = new System.Timers.Timer(); 
     t.Elapsed += new System.Timers.ElapsedEventHandler(TimerWorker); 
     t.Interval = 10000; 
     t.Enabled = true; 
     t.AutoReset = true; 
     t.Start(); 
    } 

    protected void TimerWorker(object sender, System.Timers.ElapsedEventArgs e) 
    { 
     //work args 
    } 

おかげで、

ビジェイ

+0

コードを共有できますか? –

+0

@Ravi - 編集したサンプルコードを見つけてください。 –

+0

と思われます。 IISの問題がありますか?スレッドの代わりにサービスを使用する理由は何ですか? @MKとして彼のリンクにanwserd。 –

答えて

0

してください私は、Global.asaxの中にスレッドを生成することは良いアイデアだとは思いません。より良い解決法についてはquestionをご覧ください。

+0

今、スケジューラージョブを実行するためのWindowsサービスを作成しました。 –

0

サイトに一定期間活動がない場合、自動的にシャットダウンされます。これを回避するために

は、グーグル

を「生きているasp.netサイトをしてください」しかし、あなたはハックのようなダクトテープの束を見つけることができます。私は建築を変えるだろう。

関連する問題