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 v případě, že je odpověď přesměrována na aktuální adresu URL s identifikátorem relace přidaným do adresy URL; v opačném případě . false

cookieAdded
Boolean

Když tato metoda vrátí, obsahuje logickou hodnotu, která je true , pokud byl do odpovědi HTTP přidán 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ď do adresy URL (při použití stavu relace bez souborů cookie), nebo do souboru cookie relace, který nevypršel.

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

Platí pro

Viz také