5

ワーカープロセスがいつリサイクルされるかを知ることができます。

a)古いものがシャットダウンする前に新しいものがスピンアップしますb)すべてのアクティブなリクエストがサービスを完了すると、古いものがシャットダウンします

上記は正確ですか?

もしそうなら、Application_End()がglobal.ascxファイルから起動したときにSQLに保存するデータがあります。Application_Start()が起動したときに、このデータをプルバックします。

問題は私のテストに基づいています。古いワーカープロセスがApplication_End()を完了する機会を得る前に、新しいワーカープロセスがApplication_Start()を起動します。

この状況に対処するためのベストプラクティスは何ですか?

よろしくお願いします

編集:IIS7の「無効な重複リサイクル」の機能に気づきました-これが最善のルートだと思います

4

1 に答える 1

5

重複したリサイクルについてのあなたの説明は正確です、はい(1)。無効にするための設定がありますが、これは、再導入するHTTPエラーを防ぐことを目的としています。アプリプールのリサイクルは、設計する必要のある管理対象アプリ(特に、同じメモリスペースでのアセンブリのアンロードを妨げるCLR制限からのステム)では通常発生します。

あなたのテクニックは、ウェブファームウェブガーデンのシナリオでは管理が難しいでしょう。

すべてのアプリプールがキャッシュされたデータの同じビューを持つように、(ScaleOut、App Fabricなどの分散キャッシュ製品を使用して)データのアウトプロセスストレージに依存する方が良い設計だと思います。

(1) -http://mvolo.com/blogs/serverside/archive/2008/02/25/Starting_2C00_-stopping-and-recycling-IIS-7.0-Web-sites-and-application-pools.aspx

于 2010-10-29T00:25:59.210 に答える