ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje nowo utworzony identyfikator sesji w odpowiedzi 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
Bieżący HttpContext obiekt, który odwołuje się do obiektów serwera używanych do przetwarzania żądań HTTP (na przykład Request właściwości i Response ).
- id
- String
Identyfikator sesji.
- redirected
- Boolean
Gdy ta metoda zwraca wartość logiczną, czyli true
jeśli odpowiedź jest przekierowywana do bieżącego adresu URL z identyfikatorem sesji dodanym do adresu URL; w przeciwnym razie false
.
- cookieAdded
- Boolean
Gdy ta metoda zwraca wartość logiczną, która ma wartość logiczną, która oznacza true
, że plik cookie został dodany do odpowiedzi HTTP; w przeciwnym razie false
.
Przykłady
Poniższy przykład kodu przedstawia częściowo zaimplementowaną SaveSessionID metodę. Jeśli niestandardowy menedżer identyfikatorów sesji obsługuje identyfikatory sesji bez plików cookie, należy zaimplementować rozwiązanie do wysyłania i pobierania identyfikatorów sesji w adresie URL, takich jak 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
Uwagi
Metoda jest wywoływana SaveSessionIDSessionStateModule przez obiekt podczas HttpApplication.AcquireRequestState zdarzenia. Metoda SaveSessionID przechowuje identyfikator sesji w adresie URL (gdy jest używany stan sesji bez plików cookie) lub w pliku cookie sesji, który nie wygasa.
Jeśli istnieje możliwość, że wartość zwrócona z CreateSessionID implementacji zawiera znaki, które nie są prawidłowe w odpowiedzi HTTP lub żądaniu, należy użyć UrlEncode metody , aby zakodować wartość identyfikatora sesji w SaveSessionID implementacji metody i UrlDecode metodę, aby zdekodować wartość identyfikatora sesji w GetSessionID implementacji metody.