ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Salva un identificatore di sessione appena creato nella risposta HTTP.
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)
Parametri
- context
- HttpContext
Oggetto HttpContext corrente che fa riferimento a oggetti server utilizzati per elaborare le richieste HTTP, ad esempio le proprietà Request e Response.
- id
- String
ID di sessione.
- redirected
- Boolean
Quando termina, questo metodo contiene un valore booleano impostato su true
se la risposta viene reindirizzata all'URL corrente e l'identificatore di sessione viene aggiunto all'URL, altrimenti contiene il valore false
.
- cookieAdded
- Boolean
Quando termina, questo metodo contiene un valore booleano impostato su true
se è stato aggiunto alla risposta HTTP, altrimenti contiene il valore false
.
Esempio
Nell'esempio di codice seguente viene illustrato un metodo parzialmente implementato SaveSessionID . Se la gestione ID sessione personalizzata supporta gli identificatori di sessione senza cookie, sarà necessario implementare una soluzione per l'invio e il recupero di identificatori di sessione nell'URL, ad esempio un filtro ISAPI.
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
Commenti
Il SaveSessionID metodo viene chiamato dall'oggetto durante l'evento SessionStateModuleHttpApplication.AcquireRequestState . Il SaveSessionID metodo archivia l'identificatore di sessione nell'URL (quando viene usato lo stato della sessione senza cookie) o in un cookie di sessione non scaduto.
Se è possibile che il valore restituito dall'implementazione CreateSessionID contenga caratteri non validi in una risposta o una richiesta HTTP, è consigliabile usare il UrlEncode metodo per codificare il valore dell'identificatore di sessione nell'implementazione del metodo e il UrlDecode metodo per decodificare il valore dell'identificatore di sessione nell'implementazione SaveSessionIDGetSessionID del metodo.