http ハンドラ インターフェイスにおける bool IsReusable の重要性 質問する

http ハンドラ インターフェイスにおける bool IsReusable の重要性 質問する

httpハンドラ/モジュールを書くとき、実装するインターフェースメンバーがあります -bool 再利用可能

このメンバーの意味は何ですか? これを false (または true) に設定した場合、Web アプリの残りの部分にはどのような影響がありますか?

ベストアンサー1

ハンドラーの通常のエントリ ポイントは ProcessRequest メソッドです。ただし、クラス コンストラクターに、構築にコストがかかるインスタンス値をまとめるコードが含まれている場合があります。

Reusable を true に指定すると、アプリケーションはインスタンスをキャッシュし、その ProcessRequest メソッドを何度も呼び出すだけで別のリクエストで再利用できるため、毎回インスタンスを再構築する必要がありません。

アプリケーションは、現在の負荷を処理するために必要な数のハンドラーをインスタンス化します。

欠点は、必要なインスタンスの数が現在存在するインスタンスの数より多い場合、より多くのメモリが使用されることです。逆に、インスタンスの値は GC サイクルを生き残り、頻繁に再割り当てする必要がないため、見かけ上のメモリ使用量を削減することもできます。

もう 1 つの注意点は、ProcessRequest 実行の終了時に、オブジェクトの状態が、別のリクエストでオブジェクトを再利用するために必要な状態になっていることを確認する必要があることです。

おすすめ記事