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

HttpContext プロパティ、Request プロパティなどの HTTP 要求を処理するためのサーバー オブジェクトを参照する現在の Response オブジェクト。

id
String

セッション識別子。

redirected
Boolean

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

cookieAdded
Boolean

このメソッドが返されるときに、クッキーが 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、 イベント中HttpApplication.AcquireRequestStateSessionStateModule オブジェクトによって呼び出されます。 メソッドは SaveSessionID 、URL (Cookie レス セッション状態が使用されている場合) または有効期限が切れていないセッション Cookie にセッション識別子を格納します。

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

適用対象

こちらもご覧ください