ページやセッション間で共有するオブジェクトを保存したい場合は、どれを使用すればよいですか?
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オブジェクトは、リクエストが参照するアプリケーションに対してローカルです。(例:サイトまたは仮想ディレクトリアプリケーション)これについては、このブログ投稿で詳しく説明されています。