1

IISで実行されているASP.NET アプリケーションが時々完全に再起動することがわかりました。アプリケーション プールをリサイクルすることは重要ですか?

アプリケーション プールがリサイクルされているとき、正確には何が起こっているのでしょうか?

アプリケーション開始イベントが呼び出されることが保証されているので、「時間指定ジョブ」を再開できますか?

リサイクルによって現在のリクエストやフローが失われ、ユーザー エクスペリエンスが損なわれる可能性はありますか? はいの場合、それをどのように処理しますか?

IIS 10を使用しており、デフォルトのリサイクルは定期的な時間間隔 1740 分 (29 時間) に設定されています。

ありがとう!

4

1 に答える 1

4

アプリケーション プールをリサイクルすることは重要ですか?

はい - ほとんどの場合、リークしたメモリやその他のリソースをクリーンアップしますが、他にも利点があります。

アプリケーション開始イベントが呼び出されることが保証されているので、「時間指定ジョブ」を再開できますか?

いいえ -リクエストApplication Startが行われたときに発生します。

IIS は、スケジュールされたジョブを呼び出すための適切なプラットフォームではありません。代わりに、Windows サービスまたはタスク スケジューラを使用してください。

リサイクルによって現在のリクエストやフローが失われ、ユーザー エクスペリエンスが損なわれる可能性はありますか? はいの場合、それをどのように処理しますか?

メモリベースのセッションに大きく依存している場合は、可能です。既存のリクエストには、完了するための合理的な機会が与えられるため、実行時間の長いリクエストがある場合、それらは強制終了される可能性があります。インメモリ セッションを使用している場合、セッションは確実にクリアされます。これを回避する最善の方法は、データベース永続セッションのような、より永続的なセッションに変更することです。

結論 - スケジュールされたタスクが主な関心事である場合は、IIS とは異なるプラットフォームを使用してください。IIS は、要求/応答プラットフォームとして設計されています。

于 2016-03-29T02:00:10.030 に答える