ISessionIDManager.GetSessionID(HttpContext) ISessionIDManager.GetSessionID(HttpContext) ISessionIDManager.GetSessionID(HttpContext) ISessionIDManager.GetSessionID(HttpContext) Method

定義

現在の HTTP 要求のコンテキストからセッション識別子を取得します。Gets the session identifier from the context of the current HTTP request.

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 HttpContext HttpContext HttpContext

HttpContext プロパティ、Request プロパティなどの HTTP 要求を処理するためのサーバー オブジェクトを参照する現在の Response オブジェクト。The current HttpContext object that references server objects used to process HTTP requests (for example, the Request and Response properties).

戻り値

HTTP 要求と共に送信される現在のセッション識別子。The current session identifier sent with the HTTP request.

部分的に実装された次のコード例を示していますGetSessionIDメソッド。The following code example shows a partially implemented GetSessionID method. カスタムのセッション ID マネージャーは、クッキーなしのセッション識別子をサポートする場合は、送信および ISAPI フィルターなど、URL 内のセッション id を取得するためのソリューションを実装する必要があります。If your custom session-ID manager supports cookieless session identifiers, you will need to implement a solution for sending and retrieving session identifiers in the URL, such as an ISAPI filter.

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メソッドを呼び出して、SessionStateModule中に、HttpApplication.AcquireRequestStateHttpApplication.EndRequestイベント。The GetSessionID method is called by the SessionStateModule during the HttpApplication.AcquireRequestState and HttpApplication.EndRequest events. 返す場合は、HTTP 要求からは、有効なセッション識別子を取得することはできません、nullします。If you cannot retrieve a valid session identifier from the HTTP request, return null. 場合、SessionStateModule受信nullから、GetSessionID呼び出しは、メソッド、CreateSessionID新しいセッションの新しいセッション識別子を取得します。If the SessionStateModule receives null from the GetSessionID method, it will call the CreateSessionID method to get a new session identifier for a new session.

値がによって返される可能性がある場合、CreateSessionID実装には、HTTP 応答または要求に無効な文字が含まれています、使用する必要があります、UrlEncodeでセッション識別子の値をエンコードする方法、SaveSessionIDメソッド実装とUrlDecodeでセッション識別子の値をデコードする方法、GetSessionIDメソッドの実装。If it is possible that the value returned by your CreateSessionID implementation contains characters that are not valid in an HTTP response or request, you should use the UrlEncode method to encode the session-identifier value in your SaveSessionID method implementation and the UrlDecode method to decode the session-identifier value in your GetSessionID method implementation.

適用対象

こちらもご覧ください