Condividi tramite


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

Definizione

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.

Si applica a

Vedi anche