none
Variables Session et Application RRS feed

  • Discussion générale

  • Utilisation :

                C# :  Session["nom_variable"]

                VB.NET : Session("nom_variable") 

    Brève description:

                Leurs visibilité, pour un utilisateur c’est dans les pages d’un site s’il garde le même page d’explorateur (ou des onglets du même explorateur). Le plus simple exemple c’est  - variables sessions sont utilisées pour gérer l’utilisateur enregistré sur un site. Si vous définis une variable Session["nom_variable"]  = "valeur_de_la_variable" dans une page, une autre page du même site peut récupérer et afficher sa valeur. C’est important de savoir que les variables Session ont une période d’expiration. Par exemple dans chaque page d’un site, vous devez vérifier si Session["UserId"] c’est vide et dans ce cas faire une redirection vers la page d’enregistrement.

     

    Description longue:

                Une instance de l’explorateur aura identifiée vas générer un identificateur unique- d’habitude enregistrée dans un cookie. Cet identifiant unique sera envoyé au serveur. En utilisant cet identifiant unique, le serveur vas identifier l’utilisateur  et retourner la valeur appropriée pour la variable session requise.

    Dans le webConfig de votre application Web vous pouvez spécifier de ne pas utiliser des cookies avec :

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

    Et dans ce cas le serveur Web va modifier le URL de votre appli:
    http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx

    ou (S(lit3py55t21z5v55vlm25s55)) c’est l’identificateur unique de votre instance d’explorateur.

    Evidemment, de cote serveur, tous ces variables doivent être enregistrées d’une manière ou autre.

    Pour des sites avec un nombre pas très grand de variables Session, on peut les tenir dans la mémoire du serveur. Mais dans certaines situations ça ne suffit pas.  Prenons le cas ou plusieurs serveurs doivent utiliser les mêmes variables session – le cas d’une batterie des serveurs web.

    Les modelés possibles pour maintenir les sessions :

    <configuration>
      <system.web>
        <sessionState mode="StateServer"
          stateConnectionString="tcpip=SampleStateServer:42424"
          cookieless="false"
          timeout="20"/>
      </system.web>
    </configuration>

    Mode peut être :

    • Le mode InProc stocke l'état de session en mémoire sur le      serveur Web. Il s'agit de la valeur par défaut.
    • Mode StateServer qui stocke l'état de session dans un      processus distinct appelé service d'état ASP.NET. Il garantit que      l'état de session est conservé en cas de redémarrage de l'application Web      et qu'il est disponible pour plusieurs serveurs Web dans une batterie de      serveurs Web.
    • Le mode SQLServer stocke l'état de session dans une base de      données SQL Server. Il garantit que l'état de session est conservé en      cas de redémarrage de l'application Web et qu'il est disponible pour      plusieurs serveurs Web dans une batterie de serveurs Web.
    • Le mode Custom permet de spécifier un fournisseur de      stockage personnalisé.
    • Mode Off qui désactive l'état de session.

    http://msdn.microsoft.com/fr-fr/library/ms178581(v=vs.100).aspx#Background

    http://msdn.microsoft.com/fr-fr/library/ms178586(v=vs.100).aspx

    A suivre:   Variables Application.


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    jeudi 11 juillet 2013 07:41

Toutes les réponses