ISessionIDManager.GetSessionID(HttpContext) Méthode

Définition

Obtient l’identificateur de session à partir du contexte de la requête 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 actuel HttpContext qui fait référence aux objets serveur utilisés pour traiter les requêtes HTTP (par exemple, les propriétés et Request les Response propriétés).

Retours

Identificateur de session actuel envoyé avec la requête 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 d’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 les SessionStateModule événements et HttpApplication.AcquireRequestState les HttpApplication.EndRequest événements. Si vous ne pouvez pas récupérer un identificateur de session valide à partir de la requête HTTP, retournez null. Si les SessionStateModule réceptions null de la GetSessionID méthode sont reçues, elle 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 contient 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 l’implémentation de votre GetSessionID méthode.

S’applique à

Voir aussi