ページ全体で使用できるように、User クラスを HttpRequest の Context.Items プロパティに格納します。
リピーターを使用している場合は、これを数回、おそらく数十回参照する必要があります。
context.items からの取得は高価ですか? たとえば、それを取得してローカル変数として保存する必要がありますか、それとも何度も直接アクセスしても問題ありませんか?
ページ全体で使用できるように、User クラスを HttpRequest の Context.Items プロパティに格納します。
リピーターを使用している場合は、これを数回、おそらく数十回参照する必要があります。
context.items からの取得は高価ですか? たとえば、それを取得してローカル変数として保存する必要がありますか、それとも何度も直接アクセスしても問題ありませんか?
ローカル変数を使用できる場合は、ローカル変数を使用してください。オーバーヘッドが削減されるだけでなく、コードが短くなり、読みやすく、保守しやすくなります (「魔法の文字列」はありません)。
Context.Itemsは、ローカル変数を使用できない状況向けに設計されています。
HTTP 要求中に IHttpModule インターフェイスと IHttpHandler インターフェイスの間でデータを整理および共有するために使用できるキー/値のコレクションを取得します。
したがって、Context.Items を使用して、同じ要求を処理するが同じオブジェクトにアクセスできない2 つのオブジェクト間で情報を転送しPage
ます。具体例は次のとおりです。
Server.Transfer
。Application_BeginRequest
ます。IHttpModule
カスタム(カスタム認証ハンドラーなど) とページの間でデータを渡す。