2

で20分ごとにアプリケーションにアクセスするタイマーを開始しましApplicaiton_startglobal.asax

void Application_Start(object sender, EventArgs e) 
{
System.Timers.Timer tm = new System.Timers.Timer(20 * 60 * 1000);
tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Elapsed);
}

void tm_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
System.Net.WebRequest rqst = System.Net.WebRequest.Create("MySite URL");
rqst.GetResponse();
}

これは安全な方法ですか、それとも他の方法ですか。私はquartz.netを使用してスケジュールジョブを実行するためにそうしています...

4

2 に答える 2

5

アプリケーションの自動pingは、アプリケーションを存続させる1つの方法ですが、IISのアプリケーションプールをリサイクルしないように構成することもできます。

代替テキスト

チェックボックスをオフにするだけShutdown worker processes after being idle forです。また、Recyclingタブには他の便利なオプションがあります。

于 2010-09-02T13:18:24.577 に答える
1

これを行うには、IISを変更できるはずです。IISは、非アクティブ状態が「x」分続くとアプリケーションを停止するように設定されています。あなたのコードはおそらく非アクティブのためにサイトが削除されるのを止めるでしょう。

ただし、IISはデフォルトで、「x」分/時間ごとにアプリケーションをリサイクルするように設定されています。あなたのコードはこれを止めません。それは活動に関係なく起こります。メモリリークなどをクリアするように設計されているため、これをオフにすると(IISでも実行できます)、サイトのパフォーマンスが時間の経過とともに低下しないように注意する必要があります。

于 2010-09-02T13:21:03.197 に答える