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

Definition

Speichert einen neu erstellten Sitzungsbezeichner 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 und Request die Response Eigenschaften).

id
String

Der Sitzungsbezeichner.

redirected
Boolean

Wenn diese Methode zurückgegeben wird, enthält sie einen booleschen Wert, der lautet true , wenn die Antwort an die aktuelle URL umgeleitet wird, wobei der Sitzungsbezeichner der URL hinzugefügt wurde; andernfalls false.

cookieAdded
Boolean

Wenn diese Methode zurückgegeben wird, enthält sie einen booleschen Wert, der angibt true , ob 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 des SessionStateModuleHttpApplication.AcquireRequestState Ereignisses 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 Ihrer CreateSessionID Implementierung zurückgegebene Wert Zeichen enthält, die in einer HTTP-Antwort oder -Anforderung ungültig sind, sollten Sie die UrlEncode Methode verwenden, um den 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