ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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; false
jinak .
- cookieAdded
- Boolean
Když tato metoda vrátí, obsahuje logickou hodnotu, která znamená true
, že se do odpovědi HTTP přidal soubor cookie. false
V 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.