HttpSessionState.SessionID Propriété

Définition

Obtient l’identificateur unique de la session.

public:
 property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String

Valeur de propriété

String

Identificateur de session unique.

Exemples

L’exemple de code suivant montre un fichier Web.config qui configure l’état de session pour utiliser des identificateurs de session sans cookie. Pour plus d'informations, consultez la propriété IsCookieless.

<configuration>
  <system.web>
    <sessionState
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

Remarques

La SessionID propriété est utilisée pour identifier de manière unique un navigateur avec des données de session sur le serveur. La SessionID valeur est générée de façon aléatoire par ASP.NET et stockée dans un cookie de session non expiré dans le navigateur. La SessionID valeur est ensuite envoyée dans un cookie avec chaque demande à l’application ASP.NET.

Si vous souhaitez désactiver l’utilisation des cookies dans votre application ASP.NET et que vous utilisez toujours l’état de session, vous pouvez configurer votre application pour stocker l’identificateur de session dans l’URL au lieu d’un cookie en définissant l’attribut cookieless de l’élément truede configuration sessionState sur , ou UseUrisur , dans le fichier Web.config de votre application. Vous pouvez avoir ASP.NET déterminer si les cookies sont pris en charge par le navigateur en spécifiant une valeur de UseDeviceProfile l’attributcookieless. Vous pouvez également avoir ASP.NET déterminer si les cookies sont activés pour le navigateur en spécifiant une valeur de AutoDetect l’attributcookieless. Si les cookies sont pris en charge lorsqu’ils UseDeviceProfile sont spécifiés ou activés lorsqu’ils AutoDetect sont spécifiés, l’identificateur de session est stocké dans un cookie ; sinon, l’identificateur de session est stocké dans l’URL. Pour plus d'informations, consultez la propriété IsCookieless.

Il SessionID est envoyé entre le serveur et le navigateur en texte clair, soit dans un cookie, soit dans l’URL. Par conséquent, une source indésirable peut accéder à la session d’un autre utilisateur en obtenant la SessionID valeur et en l’incluant dans les requêtes adressées au serveur. Si vous stockez des informations privées ou sensibles dans l’état de session, il est recommandé d’utiliser SSL pour chiffrer toute communication entre le navigateur et le serveur qui inclut le SessionID.

Lorsque vous utilisez l’état de session basé sur les cookies, ASP.NET n’alloue pas de stockage pour les données de session tant que l’objet Session n’est pas utilisé. Par conséquent, un nouvel ID de session est généré pour chaque demande de page jusqu’à ce que l’objet de session soit accessible. Si votre application nécessite un ID de session statique pour la session entière, vous pouvez implémenter la Session_Start méthode dans le fichier Global.asax de l’application et stocker des données dans l’objet pour corriger l’ID Session de session, ou vous pouvez utiliser du code dans une autre partie de votre application pour stocker explicitement des données dans l’objet Session .

Si votre application utilise l’état de session sans cookie, l’ID de session est généré dans la première vue de page et est conservé pour toute la session.

S’applique à

Voir aussi