SessionとHttpContext.Current.Sessionオブジェクトの違いは何ですか?セッションとHttpContext.Current.Sessionの違い
答えて
違いはありません。
Page.Sessionのゲッターは、コンテキストセッションを返します。
何もありません。 Session
はHttpContext.Current.Session
を指しています。
少し遅れていますが、ここで私が発見したものがあります。
@Phillipe Leybaertと@CSharpAtlは両方とも正しくありません。 HttpApplication
のSession
プロパティは、プロパティHttpContext.Current.Session
のプロパティとは異なる動作を示します。が利用可能であれば、同じHttpSessionState
インスタンスへの参照を返します。現在のリクエストで利用可能なインスタンスがない場合、彼らは何をするのかは異なります。HttpSessionState
すべてHttpHandler
はセッション状態を提供しません。これを行うには、HttpHandler
ははマーカーインターフェイスIRequiresSessionState
またはIReadOnlySessionState
のいずれかまたは両方を実装する必要があります。
HttpContext.Current.Session
は、利用可能なセッションがない場合はnull
を返します。 Session
性の
HttpApplication
の実装では、メッセージSession state is not available in this context.
なくnull
参照を返すとHttpException
をスロー。
セッションを実装していないHttpHandler
の例には、イメージやCSSファイルなどの通常の静的リソースのデフォルトのハンドラがあります。そのような場合(global.asax
イベントハンドラの場合)HttpApplication
のSession
プロパティへの参照は、HttpException
がスローされます。
予期しない予告なしにHttpException
がWTFを提供しますか?あなたがそれを期待していないなら、瞬間。 HttpApplication
クラスの
Session
プロパティが(リフレクターから)ので、実装されています。
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public HttpSessionState Session
{
get
{
HttpSessionState session = null;
if (this._session != null)
{
session = this._session;
}
else if (this._context != null)
{
session = this._context.Session;
}
if (session == null)
{
throw new HttpException(SR.GetString("Session_not_available"));
}
return session;
}
}
より良い答えを記入するように努力してくれてありがとう。 – nicodemus13
問題ありません。私はちょうど迷惑なWTFを持っていた?整理するのに時間がかかった瞬間。私はそれを文書化して、他の誰かが行こうとしていることが何が起こっているのかを考え出す時間を費やす必要はないと考えました。 –
- 1. ControllerContext.HttpContext.SessionとHttpContext.Current.Sessionの違いは何ですか?
- 2. セッションとキャッシュの違い
- 3. C#のHttpContext.Current.Sessionでセッション値を設定して取得する
- 4. HttpSessionStateBase HttpContext.Current.Session
- 5. SQL Serverのセッションと接続の違い
- 6. jspのセッション管理のためのJava Beanとセッションの違い
- 7. ASP.Net状態サーバーとアクセスHttpContext.Current.Session
- 8. マネージドBeanとセッションBeanの違い
- 9. HttpContext.Current.Sessionはmvc
- 10. HttpContext.Current.Session対Context.Session
- 11. HttpContext.Current.Sessionヌル項目
- 12. HttpContext.Current.Session is null + OWIN
- 13. expressセッションのreq.sessionIDとreq.session.idの相違
- 14. asp.netのセッション、キャッシュ、プロファイルの違い
- 15. セッションの永続性とバリュー・スタックのメンテナンスの違い
- 16. サーブレットのjava:クッキーとセッションの間の違い
- 17. JMSセッションのロールバックとリカバリの違いは何ですか?
- 18. iOS 8とiOS 9のNSURLセッションの違いは?
- 19. セッションとトークンベースの認証の技術的な違い
- 20. mvcのtempdata.peek()とセッション変数の違いは何ですか?
- 21. PHP:session_nameとcookieセッション名の違いは何ですか
- 22. $ _SESSION [ID]セッションを持たない人との間違いのないエラー
- 23. HttpContext.Current.Sessionへの静的参照は、すべてのユーザーに対して同じセッションを返しますか?
- 24. Railsとセッションのセッションとローデスのセッション
- 25. Sever.The ASHXハンドラから、HttpContext.Current.Sessionがnullです
- 26. HttpContext.Current.SessionにStackOverflowExceptionがありますか?
- 27. Web APIからHttpContext.Current.Sessionにアクセスすることは可能です
- 28. async webservicesを呼び出すときにHttpContext.Current.Sessionがヌルです
- 29. Internet Explorerでアクセスすると、HttpContext.Current.SessionがASP.NETアプリケーションでnullになる
- 30. "監査セッションを作成する"と "監査をセッション別に作成する"の違いはありますか?
あなたの「セッション」を言うとき、あなたはSystem.Web.UI.Page.Sessionに言及していることを明らかに価値があります。 Sessionオブジェクトは、ASP.NETページのコンテキスト内で使用できます。 – Llyle