IISがASP.NETサイトを降ろさないようにします
-
28-10-2019 - |
質問
ASP.NETサイトがIISによってアンロードされないようにするにはどうすればよいですか?
私は世界で最も愚かなウェブサイトであるかもしれないものを持っています - 1時間に1回目が起きて、ログファイルにタイムスタンプを書きます。アプリが起動すると、ログにタイムスタンプがあり、死んだときは同じことがあります。
IISでは、アプリケーションプールに入り、アイドルタイムアウトを0に設定し、リサイクルイベントログエントリ>通常の時間間隔をFalseに生成します。
それでも、サイトはまだ1日に1回約1回自動的に降ろします - アプリがアンロードされます...ログに入力し、次に訪れるまで死んでいます。
荷降ろしを防ぐにはどうすればよいですか?
(明らかに、このサイトはこれを解決したらさらに多くのことを行います。今のところ、問題を分離することはできる限り簡単です。)
解決
アプリケーションプールには、N分ごとに自動的にリサイクルされる別のプロパティがあります(デフォルトは1740、または29時間ごとにデフォルトです。)このゼロにより、リサイクルを無効にします。プロパティは(IIS7で)「リサイクル」見出しの下で、「通常の時間間隔(分)」と呼ばれています。
他のヒント
@JLEWの推奨に加えて、この記事のガイダンスは、Windowsサービスとスケジュールされたタスクのインストール/構成/メンテナンスの負担なしでASP.NETでバックグラウンドタスク/タイマーを継続的に/定期的に実行している場合に重要です。
これには、優雅なシャットダウンとバックグラウンドタスクの典型的な要望/ニーズを処理するために、記事のアドバイスを抽象化する有用なヘルパーライブラリであるWebBackgrounderが含まれています。
IISを設定しません。リサイクル設定を自分で変更する必要があります。