アプリケーションプールの“アイドルタイムアウト”を設定する方法はありますかweb.configで?
-
05-07-2019 - |
質問
セッションのタイムアウトを設定できることは知っています。ただし、アプリケーション自体が一定期間リクエストを受信しなかった場合、IISはアプリケーションをシャットダウンします。
この動作は、IIS管理コンソールで構成でき、これを行う方法は知っています。それでも、web.configでこれを設定することは可能かどうか疑問に思います。
解決
IIS 6にはありません。IIS6では、アプリケーションプールはワーカープロセスによって制御されます。ワーカープロセスは、HTTP.sysによって処理される要求キューにマップされます。 HTTP.sysは、WWWサーバーとの通信を処理して、ワーカープロセスを開始および停止するタイミングを決定します。
IIS 6は.Netよりも前に作成されたため、.Netと低レベルのhttpハンドラーの間には通信フックがありません。
ASP.netは、ワーカープロセス自体によって読み込まれるISAPIフィルターとして実装されています。ワーカープロセスを制御するweb.configを見ている場合、鶏の卵の前に問題があります。これが主に、MSがIIS 7の大幅な書き直しを行った理由です。これにより、ISAPIフィルター部分だけでなく、リクエストライフサイクル全体で.Netが統合されます。
他のヒント
これらの設定は編集できますが、web.configでは編集できません。 IIS7がある場合、設定はapplicationHost.configにあり、キー属性は shutdownTimeLimit です。
googleで検索して、appcmdやその他のツールを使用して設定または変更する方法を確認できます。
また、\ inetsrv \ configディレクトリにあるapplicationHost.configファイルを編集して、shutdownTimeLimitを直接変更できます。
applicationHost.configファイルのスキーマは、\ inetsrv \ config \ schema \ IIS_schema.xmlファイルにあります。
お気に入りのスキーマ対応XMLエディターで開くと、インテリセンスなどが得られます。
IdleTimeoutを設定することで実行できます。 しかし processModel要素への変更は、他の構成要素のように、設定が変更された直後ではなく、ワーカープロセスが再起動されたときにのみ有効になります。 ここで見ることができます: processModel要素
他のアーカイブからマシン構成を編集できるように、machene.configも変更する必要があります。