Freigeben über


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

Definition

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.

Gilt für:

Weitere Informationen