Sdílet prostřednictvím


ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Metoda

Definice

Uloží nově vytvořený identifikátor relace do odpovědi 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)

Parametry

context
HttpContext

Aktuální HttpContext objekt, který odkazuje na objekty serveru používané ke zpracování požadavků HTTP (například Request vlastnosti a Response ).

id
String

Identifikátor relace.

redirected
Boolean

Když tato metoda vrátí, obsahuje logickou hodnotu, která je true , pokud je odpověď přesměrována na aktuální adresu URL s identifikátorem relace přidaným k adrese URL; falsejinak .

cookieAdded
Boolean

Když tato metoda vrátí, obsahuje logickou hodnotu, která znamená true , že se do odpovědi HTTP přidal soubor cookie. falseV opačném případě .

Příklady

Následující příklad kódu ukazuje částečně implementovanou SaveSessionID metodu. Pokud váš vlastní správce ID relací podporuje identifikátory relací bez souborů cookie, budete muset implementovat řešení pro odesílání a načítání identifikátorů relací v adrese URL, jako je filtr ISAPI.

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

Poznámky

Metoda SaveSessionID je volána objektem SessionStateModule během HttpApplication.AcquireRequestState události. Metoda SaveSessionID ukládá identifikátor relace buď v adrese URL (při použití stavu relace bez souborů cookie), nebo do souboru cookie relace, jehož platnost nevypršela.

Pokud je možné, že hodnota vrácená z vaší CreateSessionID implementace obsahuje znaky, které nejsou platné v odpovědi HTTP nebo požadavku, měli byste použít metodu UrlEncode pro kódování hodnoty identifikátoru relace v SaveSessionID implementaci metody a metodu UrlDecode k dekódování hodnoty identifikátoru relace v GetSessionID implementaci metody.

Platí pro

Viz také