ISessionIDManager.GetSessionID(HttpContext) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の HTTP 要求のコンテキストからセッション識別子を取得します。
public:
System::String ^ GetSessionID(System::Web::HttpContext ^ context);
public string GetSessionID(System.Web.HttpContext context);
abstract member GetSessionID : System.Web.HttpContext -> string
Public Function GetSessionID (context As HttpContext) As String
パラメーター
- context
- HttpContext
HTTP 要求の処理に使用するサーバー オブジェクトを参照する現在の HttpContext オブジェクト (たとえば、 Request プロパティや Response プロパティ)。
返品
HTTP 要求と共に送信された現在のセッション識別子。
例
次のコード例は、部分的に実装された GetSessionID メソッドを示しています。 カスタム セッション ID マネージャーが Cookie レス セッション識別子をサポートしている場合は、ISAPI フィルターなどの URL でセッション識別子を送信および取得するためのソリューションを実装する必要があります。
public string GetSessionID(HttpContext context)
{
string id = null;
if (pConfig.Cookieless == HttpCookieMode.UseUri)
{
// Retrieve the SessionID from the URI.
}
else
{
id = context.Request.Cookies[pConfig.CookieName].Value;
}
// Verify that the retrieved SessionID is valid. If not, return null.
if (!Validate(id))
id = null;
return id;
}
Public Function GetSessionID(context As HttpContext) As String _
Implements ISessionIDManager.GetSessionID
Dim id As String = Nothing
If pConfig.Cookieless = HttpCookieMode.UseUri Then
' Retrieve the SessionID from the URI.
Else
id = context.Request.Cookies(pConfig.CookieName).Value
End If
' Verify that the retrieved SessionID is valid. If not, return Nothing.
If Not Validate(id) Then _
id = Nothing
Return id
End Function
注釈
GetSessionID メソッドは、HttpApplication.AcquireRequestStateおよびHttpApplication.EndRequestイベント中にSessionStateModuleによって呼び出されます。 HTTP 要求から有効なセッション識別子を取得できない場合は、 null返します。
SessionStateModuleは、GetSessionID メソッドからnullを受け取ると、CreateSessionID メソッドを呼び出して、新しいセッションの新しいセッション識別子を取得します。
CreateSessionID実装によって返される値に HTTP 応答または要求で無効な文字が含まれている可能性がある場合は、UrlEncode メソッドを使用して、SaveSessionID メソッドの実装でセッション識別子の値をエンコードし、UrlDecode メソッドを使用して、GetSessionID メソッドの実装でセッション識別子の値をデコードする必要があります。