ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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 .