ISessionIDManager.GetSessionID(HttpContext) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.