ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) メソッド

定義

新しく作成されたセッション識別子を HTTP 応答に保存します。

public:
 void SaveSessionID(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % redirected, [Runtime::InteropServices::Out] bool % cookieAdded);
public void SaveSessionID(System.Web.HttpContext context, string id, out bool redirected, out bool cookieAdded);
abstract member SaveSessionID : System.Web.HttpContext * string * bool * bool -> unit
Public Sub SaveSessionID (context As HttpContext, id As String, ByRef redirected As Boolean, ByRef cookieAdded As Boolean)

パラメーター

context
HttpContext

HTTP 要求の処理に使用するサーバー オブジェクトを参照する現在の HttpContext オブジェクト (たとえば、 Request プロパティや Response プロパティ)。

id
String

セッション識別子。

redirected
Boolean

このメソッドから制御が戻るときに、応答が現在の URL にリダイレクトされ、その URL にセッション識別子が追加された場合に true されるブール値が格納されます。それ以外の場合は、 false

cookieAdded
Boolean

このメソッドから制御が戻るときに、COOKIE が HTTP 応答に追加された場合に true されるブール値が格納されます。それ以外の場合は、 false

次のコード例は、部分的に実装された SaveSessionID メソッドを示しています。 カスタム セッション ID マネージャーが Cookie レス セッション識別子をサポートしている場合は、ISAPI フィルターなどの URL でセッション識別子を送信および取得するためのソリューションを実装する必要があります。

public void SaveSessionID(HttpContext context, string id, out bool redirected, out bool cookieAdded)
{
  redirected = false;
  cookieAdded = false;

  if (pConfig.Cookieless == HttpCookieMode.UseUri)
  {
    // Add the SessionID to the URI. Set the redirected variable as appropriate.

    redirected = true;
    return;
  }
  else
  {
    context.Response.Cookies.Add(new HttpCookie(pConfig.CookieName, id));
    cookieAdded = true;
  }
}
Public Sub SaveSessionID(context As HttpContext, _
                         id As String, _
                         ByRef redirected As Boolean, _
                         ByRef cookieAdded As Boolean) _
  Implements ISessionIDManager.SaveSessionID

  redirected = False
  cookieAdded = False

  If pConfig.Cookieless = HttpCookieMode.UseUri Then

    ' Add the SessionID to the URI. Set the redirected variable as appropriate.

    redirected = True
    Return
  Else
    context.Response.Cookies.Add(New HttpCookie(pConfig.CookieName, id))
    cookieAdded = True
  End If
End Sub

注釈

SaveSessionID メソッドは、SessionStateModule イベント中にHttpApplication.AcquireRequestState オブジェクトによって呼び出されます。 SaveSessionID メソッドは、URL (Cookie レス セッション状態が使用されている場合) または期限切れでないセッション Cookie のいずれかにセッション識別子を格納します。

CreateSessionID実装から返される値に、HTTP 応答または要求で無効な文字が含まれている可能性がある場合は、UrlEncode メソッドを使用して、SaveSessionID メソッドの実装でセッション識別子の値をエンコードし、UrlDecode メソッドを使用して、GetSessionID メソッドの実装でセッション識別子の値をデコードする必要があります。

適用対象

こちらもご覧ください