Språk

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

Definition

Sparar en nyligen skapad sessionsidentifierare i HTTP-svaret.

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)

Parametrar

context
HttpContext

Det aktuella HttpContext objektet som refererar till serverobjekt som används för att bearbeta HTTP-begäranden (till exempel Request egenskaperna och Response ).

id
String

Sessionsidentifieraren.

redirected
Boolean

När den här metoden returneras innehåller ett booleskt värde som är true om svaret omdirigeras till den aktuella URL:en med sessionsidentifieraren som lagts till i URL:en, falseannars .

cookieAdded
Boolean

När den här metoden returnerar innehåller ett booleskt värde som är true om en cookie har lagts till i HTTP-svaret, falseannars .

Exempel

I följande kodexempel visas en delvis implementerad SaveSessionID metod. Om din anpassade sessions-ID-hanterare stöder cookielösa sessionsidentifierare måste du implementera en lösning för att skicka och hämta sessionsidentifierare i URL:en, till exempel ett 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

Kommentarer

Metoden SaveSessionID anropas av SessionStateModule objektet under HttpApplication.AcquireRequestState händelsen. Metoden SaveSessionID lagrar sessionsidentifieraren antingen i URL:en (när cookielöst sessionstillstånd används) eller i en sessionscookie som inte upphör att gälla.

Om det är möjligt att värdet som returneras från implementeringen CreateSessionID innehåller tecken som inte är giltiga i ett HTTP-svar eller en http-begäran bör du använda UrlEncode metoden för att koda värdet sessionsidentifierare i SaveSessionID metodimplementeringen och UrlDecode metoden för att avkoda värdet för sessionsidentifierare i metodimplementeringen GetSessionID .

Gäller för

Se även