1

イントロ

私は、ASP.NET MVC 3、C#を使用して、IIS7.0以降を対象としたWebアプリケーションを開発しています。長時間実行される非同期リクエストがいくつかあります(AsyncController / Asyncアクション機能を利用)。また、HttpRuntime.Cacheを頻繁に使用します(そして、ここでは実際には重要ではない非標準的な方法で)。

質問

アクティブな長時間実行要求が存在する場合、IISアプリケーションプールを突然リサイクルできますか?キャッシュからデータを失いたくないので、可能であればその動作を防ぎたいと思います。

起こりうる問題を克服するために、本当に永続的なストレージ(つまりデータベース)を使用する必要がありますか?

4

2 に答える 2

1

リサイクルがトリガーされると、デフォルトで90秒の「シャットダウン時間制限」があります。これは、プロセスが強制的にシャットダウンされるまでに終了する必要がある時間です。これはIISを介して構成可能であり、不要なリサイクルトリガー(メモリ、CPU、時間、スケジュール、要求など)を削除することに加えて、これを大きな値に増やすことができます。

于 2012-07-19T17:42:46.170 に答える
1

通常、IISは、非アクティブな期間が原因で保留中の要求があるアプリケーションをリサイクルしません。ただし、メモリまたはCPUのしきい値に達した場合、IISはアプリケーションをリサイクルする可能性があります。ただし、これはIIS管理コンソールで構成できるものです。

于 2012-07-19T09:03:54.550 に答える