ビジネス マネージャーを作成し、IIS がリサイクルするまでメモリに保持する IOC コンテナー (Windsor) を持つこの .NET Web アプリケーションの作業を開始しました。基本的に、これらのビジネス マネージャーには独自の状態があり、その内容が Application_Start で起動されるバックグラウンド スレッドから変更されるデータがあります。これは、私が Web アプリケーションが動作することを期待していた方法ではなく (ステートレスで、リクエストごとにスレッドごとであるはずです)、この実装が持続可能/スケーラブルかどうかはよくわかりません。誰かがこの方法で物事を試したことがありますか?もしそうなら、これに見られる結果/長所は何ですか?
1 に答える
1
アプリケーションでは、コア機能に対してのみ静的を使用します。静的クラスはすべてのリクエストで共有されるため、使いやすさはやや低くなるはずです。ASP.NET MVC 3 では、アプリケーションのさまざまな領域や、その他の一般的な OS ソース ライブラリに静的が利用されています。
それらが多くない限り、問題はありません...しかし、いつでもメモリ プロファイラを使用して、それらがどのくらい大きくなっているか、メモリを消費しすぎていないかを確認できます。
もう 1 つの方法は、キャッシュに配置するか、再構築して各リクエストに格納することです。それらをリクエストにグローバルに保存するには、HttpContext.Current.Items
コレクションを使用します。
于 2011-05-24T12:16:38.093 に答える