"リクエストスコープ"グローバルについてここでいくつかの質問に回答しましたが、特に何かを選択したいと思っていて、1つまたは2つの余分な啓発を絞っていますあなたの。辞書の検索効率とASP.NETのスコープ付きグローバル変数の要求global.asaxとpages/etcでアクセス可能
私はASP.NET C#Webサイトと静的オブジェクトオブジェクト(アプリケーション開始時に一度DBからロードされます)を持っています。各ページのリクエストは、(リクエストurl/etcから得られたキーに基づいて)ディクショナリでルックアップを行い、適切なオブジェクトを取得する必要があります。
問題は、要求ごとに辞書への参照を減らすことで効率を最大化しようとしています。ページ内で単一のルックアップを実行するだけで十分ですし、オブジェクトをサブコントロールなどに渡すこともできますが、global.asaxはページとは別のもので、オブジェクト(Application_BeginRequestとSession_Start)を使用する必要があります。
辞書検索は、Application_BeginRequestで一度、Session_Startに1回(必要な場合)、毎秒多くのリクエストがあっても無視されるように、ページでは一度も無視されます。
私は簡単に呼び出すことができる要求スコープのグローバル変数を持つことができれば嬉しいです。しかし、HttpContext.Current.Itemsとそれ自体が辞書です。
私は効率性について懸念して、ばかばかしいですか?ますます多くのリクエストが行われている場合、これらのミリ秒(ナノ秒か?
ありがとうございました。
PS。私は現在、ディクショナリに約100個のオブジェクトしかありませんが、これは将来的に増加する可能性があります。
あなたは私が言っていることをより良く説明しました:D –
シンプルだけど甘い、それは私が知る必要があったと思います。ありがとう。 (また、Davideへの賞賛、あなたはお互いにはあまりにも速いです:P) – devlop