「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †近年のWebアプリケーションでは
により、イントラネット内の業務システムでは、Sessionの使用は一般的になっている。 詳細 †設定 †Sessionの設定に関しては、Web.configのsystem.web.sessionStateセクションにパラメタを設定する。 Session timeout †
Session Cookie †ASP.NETのデフォルトの設定では、Sessionの識別にCookieを使用する(CookieにSessionIDを保持する)。 Session Cookieは揮発性 †
携帯アプリの場合 †なお、ASP.NET Mobile Web(携帯端末)の場合、端末によっては、Cookieをサポートしていないケースがあるため、SessionID(Cookie)の持ち回り方法が異なる。 Web.configのsessionStateタグの定義を次のように、cookieless="true"に記述する。 <sessionState timeout="20" cookieless="true" mode="InProc"></sessionState> この場合、下記に示す様に、ASP.NET Mobile Webにより、URLにForms認証の認証チケット(Cookie)が埋め込まれる。 http://[FQDN名]/[アプリケーション名]/S(SessionID)F(Forms認証の暗号化された認証チケット)/xxx.aspx ASP.NET Mobile Web では、URLに埋め込まれたForms認証の認証チケット(Cookie)などの情報を上手く引き継ぐために、 State Service・State Database †ASP.NETでは、同一プロセスだけでなく、別プロセス・サーバ(State Service)、SQL Server(State Database)などにSession情報を保存する機能もある。 負荷分散(冗長化)構成とSession †障害時にもSession情報を保持したり、クラスタ構成で1人のクライアントが複数のノードに振り分けられたりする場合、 この場合、Sessionに格納するオブジェクトはシリアル化可能に実装する必要がある。 参考 †ASP.NET でSessionCookie、Cookie認証Ticketを共有する方法 †Tags: :.NET開発, :ASP.NET, :ASP.NET Web Forms, :ASP.NET MVC |