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 corrente HttpContext che fa riferimento agli oggetti server utilizzati per elaborare le richieste HTTP, ad esempio le Request proprietà e Response .

id
String

Identificatore di sessione.

redirected
Boolean

Quando termina, questo metodo contiene un valore booleano che è true se la risposta viene reindirizzata all'URL corrente con l'identificatore di sessione aggiunto all'URL; in caso contrario, false.

cookieAdded
Boolean

Quando termina, questo metodo contiene un valore booleano che è true se un cookie è stato aggiunto alla risposta HTTP; in caso contrario, false.

Esempio

Nell'esempio di codice seguente viene illustrato un metodo parzialmente implementato SaveSessionID . Se il gestore di ID sessione personalizzato 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 SessionStateModule durante l'evento HttpApplication.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, è necessario usare il UrlEncode metodo per codificare il valore dell'identificatore di sessione nell'implementazione SaveSessionID del metodo e il UrlDecode metodo per decodificare il valore dell'identificatore di sessione nell'implementazione GetSessionID del metodo.

Si applica a

Vedi anche