9

ASP.Net サイトが IIS によってアンロードされないようにするにはどうすればよいですか?

私は、世界で最も馬鹿げた Web サイトを持っています。1 時間に 1 回、起動してタイムスタンプをログ ファイルに書き込みます。アプリが起動すると、ログにタイムスタンプが表示され、停止すると同じことが記録されます。

IIS でアプリケーション プールに入り、アイドル タイムアウトを 0 に設定し、Generate Recycle Event Log Entry > Regular Time Interval を False に設定しました。

それでも、サイトはまだ 1 日に 1 回ほどアンロードされます。ログに App Unloading... というエントリが表示され、次にアクセスするまでその状態が続きます。

アンロードしないようにするにはどうすればよいですか?

(明らかに、この問題が解決されれば、このサイトはもっと多くのことを行うでしょう。今のところ、問題を切り分けるのはできるだけ簡単です。)

4

2 に答える 2

18

アプリケーション プールには、N 分ごと (既定値は 1740 または 29 時間ごと) に自動的にリサイクルされる別のプロパティがあります。リサイクルを無効にするには、この値をゼロにします。このプロパティは (IIS7 では) 「リサイクル」見出しの下にあり、「定期的な時間間隔 (分)」と呼ばれます。

于 2011-05-04T20:25:39.757 に答える
1

@jlew の推奨事項に加えて、この記事のガイダンスは、Windows サービスとスケジュールされたタスクのインストール/構成/メンテナンスの負担なしで、ASP.Net で継続的/定期的にバックグラウンド タスク/タイマーを実行している場合に重要です。

http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

便利なヘルパー ライブラリ WebBackgrounder が含まれています。これは、この記事のアドバイスを抽象化して、正常なシャットダウンと、バックグラウンド タスクの典型的な要求/ニーズのいくつかを処理します。

IIS を構成するわけではありません。リサイクル設定を自分で変更する必要があります。

于 2011-10-28T01:22:09.500 に答える