Partager via


ISessionIDManager.GetSessionID(HttpContext) Méthode

Définition

Obtient l'identificateur de session à partir du contexte de la demande HTTP actuelle.

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

Paramètres

context
HttpContext

Objet HttpContext actuel faisant référence aux objets serveurs utilisés pour traiter les demandes HTTP (par exemple, les propriétés Request et Response).

Retours

Identificateur de la session en cours, transmis avec la demande HTTP.

Exemples

L’exemple de code suivant montre une méthode partiellement implémentée GetSessionID . Si votre gestionnaire d’ID de session personnalisé prend en charge les identificateurs de session sans cookie, vous devez implémenter une solution pour l’envoi et la récupération des identificateurs de session dans l’URL, comme un filtre 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

Remarques

La GetSessionID méthode est appelée par le SessionStateModule pendant les HttpApplication.AcquireRequestState événements et HttpApplication.EndRequest . Si vous ne pouvez pas récupérer un identificateur de session valide à partir de la requête HTTP, retournez null. Si le SessionStateModule reçoit null de la GetSessionID méthode, il appelle la CreateSessionID méthode pour obtenir un nouvel identificateur de session pour une nouvelle session.

S’il est possible que la valeur retournée par votre CreateSessionID implémentation contienne des caractères non valides dans une réponse ou une requête HTTP, vous devez utiliser la UrlEncode méthode pour encoder la valeur d’identificateur de session dans votre SaveSessionID implémentation de méthode et la UrlDecode méthode pour décoder la valeur d’identificateur de session dans votre GetSessionID implémentation de méthode.

S’applique à

Voir aussi