ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Speichert eine neu erstellte Sitzungs-ID in der HTTP-Antwort.
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)
Parameter
- context
- HttpContext
Das aktuelle HttpContext-Objekt, das auf Serverobjekte verweist, die zum Verarbeiten von HTTP-Anforderungen verwendet werden (z. B. die Request-Eigenschaft und die Response-Eigenschaft).
- id
- String
Die Sitzungs-ID.
- redirected
- Boolean
Diese Methode enthält bei der Rückgabe den booleschen Wert true
, wenn die Antwort mit der zur URL hinzugefügten Sitzungs-ID an die aktuelle URL umgeleitet wird, andernfalls false
.
- cookieAdded
- Boolean
Diese Methode enthält bei der Rückgabe den booleschen Wert true
, wenn der HTTP-Antwort ein Cookie hinzugefügt wurde, andernfalls false
.
Beispiele
Das folgende Codebeispiel zeigt eine teilweise implementierte SaveSessionID Methode. Wenn Ihr benutzerdefinierter Sitzungs-ID-Manager cookielose Sitzungsbezeichner unterstützt, müssen Sie eine Lösung zum Senden und Abrufen von Sitzungsbezeichnern in der URL implementieren, z. B. einen ISAPI-Filter.
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
Hinweise
Die SaveSessionID -Methode wird während HttpApplication.AcquireRequestState des Ereignisses SessionStateModule vom -Objekt aufgerufen. Die SaveSessionID -Methode speichert den Sitzungsbezeichner entweder in der URL (wenn der cookielose Sitzungszustand verwendet wird) oder in einem nicht ablaufenden Sitzungscookies.
Wenn es möglich ist, dass der von der CreateSessionID Implementierung zurückgegebene Wert Zeichen enthält, die in einer HTTP-Antwort oder -Anforderung ungültig sind, sollten Sie die -Methode verwenden, um den UrlEncode Sitzungsbezeichnerwert in Ihrer SaveSessionID Methodenimplementierung zu codieren, und die UrlDecode Methode, um den Sitzungsbezeichnerwert in Ihrer GetSessionID Methodenimplementierung zu decodieren.