ISessionIDManager.GetSessionID(HttpContext) Metodo

Definizione

Ottiene l'identificatore di sessione dal contesto della richiesta HTTP corrente.

public:
 System::String ^ GetSessionID(System::Web::HttpContext ^ context);
public string GetSessionID (System.Web.HttpContext context);
abstract member GetSessionID : System.Web.HttpContext -> string
Public Function GetSessionID (context As HttpContext) As String

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.

Restituisce

L'identificatore di sessione inviato con la richiesta HTTP.

Esempio

Nell'esempio di codice seguente viene illustrato un metodo parzialmente implementato GetSessionID . 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 string GetSessionID(HttpContext context)
{
  string id = null;

  if (pConfig.Cookieless == HttpCookieMode.UseUri)
  {
    // Retrieve the SessionID from the URI.
  }
  else
  {
    id = context.Request.Cookies[pConfig.CookieName].Value;
  }      

  // Verify that the retrieved SessionID is valid. If not, return null.

  if (!Validate(id))
    id = null;

  return id;
}
Public Function GetSessionID(context As HttpContext) As String _
  Implements ISessionIDManager.GetSessionID

  Dim id As String = Nothing

  If pConfig.Cookieless = HttpCookieMode.UseUri Then
    ' Retrieve the SessionID from the URI.
  Else
    id = context.Request.Cookies(pConfig.CookieName).Value
  End If    

  ' Verify that the retrieved SessionID is valid. If not, return Nothing.

  If Not Validate(id) Then _
    id = Nothing

  Return id
End Function

Commenti

Il GetSessionID metodo viene chiamato dall'oggetto SessionStateModule durante gli HttpApplication.AcquireRequestState eventi e HttpApplication.EndRequest . Se non è possibile recuperare un identificatore di sessione valido dalla richiesta HTTP, restituire null. Se il SessionStateModule metodo riceve nullGetSessionID , chiamerà il CreateSessionID metodo per ottenere un nuovo identificatore di sessione per una nuova sessione.

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 del metodo e il UrlDecode metodo per decodificare il valore dell'identificatore di sessione nell'implementazione SaveSessionIDGetSessionID del metodo.

Si applica a

Vedi anche