ページやセッション間で共有するオブジェクトを保存したい場合は、どれを使用すればよいですか?
HttpContext.Current.ApplicationInstance.Application
またはHttpContext.Current.Application
。
私は使ってHttpContext.Current.Application
いましたが、2つの間で混乱しました。
ページやセッション間で共有するオブジェクトを保存したい場合は、どれを使用すればよいですか?
HttpContext.Current.ApplicationInstance.Application
またはHttpContext.Current.Application
。
私は使ってHttpContext.Current.Application
いましたが、2つの間で混乱しました。
それらは両方とも同じことを指します、HttpApplicationState
Application
とApplicationInstance.Application
は、同じHttpApplicationStateオブジェクトの2つのバージョンです。
HttpApplicationStateリファレンスから:
HttpApplicationStateクラスの単一のインスタンスは、クライアントが特定のASP.NETアプリケーション仮想ディレクトリ内からURLリソースを初めて要求したときに作成されます。Webサーバー上のASP.NETアプリケーションごとに個別の単一インスタンスが作成されます。次に、各インスタンスへの参照は、組み込みのApplicationオブジェクトを介して公開されます。
要約する:
Application
オブジェクトはWebサーバーに対してグローバルです。ApplicationInstance.Application
オブジェクトは、リクエストが参照するアプリケーションに対してローカルです。(例:サイトまたは仮想ディレクトリアプリケーション)これについては、このブログ投稿で詳しく説明されています。