[解決済み] httpハンドラインタフェースにおけるIsReusableブールの意義
2022-07-02 17:08:51
質問
http ハンドラ/モジュールを書くとき、実装すべきインターフェースメンバーとして - があります。 bool IsReusable .
このメンバーの意味は何でしょうか?もしこれをfalse(またはtrue)に設定した場合、Webアプリの残りの部分にはどのような意味があるのでしょうか?
どのように解決するのですか?
ハンドラの通常のエントリポイントは ProcessRequest メソッドです。 しかし、クラスのコンストラクタに、ビルドにコストのかかるいくつかのインスタンス値をまとめるコードがあるかもしれません。
Reusable を true に指定すると、アプリケーションはインスタンスをキャッシュし、ProcessRequest メソッドを何度も呼び出すだけで、毎回再構築することなく別のリクエストで再利用することができます。
アプリケーションは、現在の負荷を処理するために必要な数だけ、これらのハンドラのインスタンスを作成します。
欠点は、必要なインスタンスの数が現在存在するインスタンスより大きい場合、より多くのメモリが使用されることです。 逆に、インスタンスの値が GC サイクルに耐え、頻繁に再割り当てする必要がないため、見かけ上のメモリ使用量を減らすこともできます。
もうひとつの注意点は、ProcessRequest の実行の最後に、オブジェクトの状態が、オブジェクトを再利用するための別のリクエストのために必要な状態であることを確認する必要があることです。
関連
-
.NET 6における暗黙の名前空間参照
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
名前 'xxx' が現在のコンテキストに存在しない エラー解決方法の1つ
-
[解決済み] クライアントから危険な可能性のあるRequest.Formの値が検出された
-
[解決済み] ASP.NET MVC - カスタムIIdentityまたはIPrincipalの設定
-
[解決済み] IIS 500.19 with 0x80070005 The requested page cannot be accessed because the related configuration data for the page is invalid error.
-
[解決済み] [Solved] Webリクエストごとに1つのDbContext...なぜ?
-
[解決済み】ハンドラ「ExtensionlessUrlHandler-Integrated-4.0」のモジュールリストに「ManagedPipelineHandler」という不正なモジュールが存在する。
-
[解決済み】イベントハンドラはすでに追加されていますか?
-
[解決済み] HTTPハンドラ vs HTTPモジュール
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NETガベージコレクション GC診断ツール dotnet-gcmon 使用方法
-
net core downlink tracking skywalking インストールと使いやすいチュートリアル
-
.NET開発サーバー アプリケーション管理ツール
-
ASP.NET Core Dependency Injectionフレームワークの活用
-
ASP.NET学習でよくあるエラーのまとめ
-
ASP.NET Core MVC Dependency Injection ビューとコントローラ
-
[解決済み] ASP.NETでConsole.WriteLineはどこに行くのですか?
-
[解決済み] [Solved] ASP.NET MS11-100: 投稿されたフォームの値の最大数の制限を変更するにはどうしたらいいですか?
-
[解決済み] ASP.NETの一時ファイルのクリーンアップ
-
[解決済み] コンテンツ」項目が重複して含まれていました。.NET SDKは、デフォルトでプロジェクトディレクトリの'Content'アイテムを含めます。