..
Le développement et le déploiement d'applications web nécessite une surveillance de l'état de la même en tout temps. L'un des états les plus importants sont associés à la session (l'état de session) et ASP.NET fournit un grand soutien pour sa gestion.
A ce point du guide devrait être clair que dans la programmation des applications web développées servent à plusieurs utilisateurs, répartis sur une large zone, basé sur un protocole déconnecté (HTTP).
Lorsque l'état de session est activé pour chaque demande, ASP.NET crée un objet Session nouvelles, qui devient partie intégrante du contexte et est accessible par la page. Dans cet objet est attribué un identifiant et il devient un conteneur à portée de main des informations dont la durée est supérieure à la page, il se réfère.
L'objet Session est un dictionnaire de paires nom / valeur, et à travers elle, vous pouvez lier un objet à une clé afin que vous puissiez y accéder si nécessaire, en utilisant sa propre clé.
Par exemple, si nous voulons stocker des informations sur un utilisateur dans un objet de session doit écrire quelque chose comme
Nulle StoreInfoInSession ()
{
String = TextBox1.Text strInputUtente;
Session ["strInputUtente"] = strInputUtente;
}
et une demande subséquente si nous voulons récupérer cette valeur nous devrions écrire
Nulle GetInfoFromSession ()
{
StrInputUtente String = Session ["strInputUtente"];
TextBox1.Text = strInputUtente;
}
Gestion d'état de session dans ASP.NET est très pratique, notamment parce que cette technologie dans ce type d'objet peut être placé à différents endroits: dans le processus actuel, a été séparé sur un serveur, une base de données SQL Server.
Pour mieux comprendre comment la session a été un exemple où nous voyons, nous allons créer un site avec une page qui stocke une valeur dans le cadre de l'état de session. Cela montre clairement la différence entre l'état d'une page lors d'une demande et les informations associées à une session qui, comme mentionné, persistent même après la demande.
Nous créons une nouvelle application web et de formulaire Web Default.aspx insérer une zone de texte pour saisir la valeur à être stockée dans l'état de session. Nous avons également ajouter deux boutons, un pour stocker des données et d'afficher un statut

Également insérer la zone de texte à côté d'une étiquette pour afficher les données pour vous rappeler plus tard. Insérer une variable de type string dans nos pages et dans le Page_Load de définir la valeur de cette chaîne dans notre zone de texte
chaîne de sessionString;
protected void Page_Load (object sender, EventArgs e)
{
this.Label1.Text = this.sessionString;
}
Double-cliquer sur le bouton magasins de l'événement Click générer l'intérieur correspondant et insérez le code qui récupère la chaîne contenue dans la zone de texte et le stocke dans sessionString variable, la mise du côté de l'étiquette avec le même texte
MemorizzaBtn_Click protégée void (object sender, EventArgs e)
{
this.sessionString = this.TextBox1.Text;
this.Label1.Text = this.sessionString;
}
Nous commençons l'application et écrire quelque chose dans la boîte de texte et cliquez sur Enregistrer.
Nous devrions voir quelque chose comme

Si on clique sur le bouton Afficher l'étiquette prend une valeur de chaîne vide comme la variable est instanciée sessionString nouveau (parce que la page est recréée). C'est parce que nous le mettons dans Page_Load la propriété Text de l'étiquette est fixée à la valeur de l'sessinString variable. Comme nous l'avons mentionné à plusieurs reprises, en fait, les pages sont de très courte durée des objets, la durée de vie d'une demande et sont ensuite détruits par l'ensemble des données en eux. Donc, si le but est de stocker quelques données qui va au-delà de la durée d'une page dès que l'approche n'est pas bonne.
L'utilisation de l'état de session est le moyen de résoudre ce problème. Pour mieux expliquer le concept, nous ajoutons une seconde étiquette à notre formulaire en ligne et le définir comme celle déjà présente

Cette seconde étiquette sera utile pour afficher les données récupérées par le biais de l'objet Session. MemorizzaBtn_Click modifier l'événement afin que le texte tiré de la zone de texte est également stocké dans la session
MemorizzaBtn_Click protégée void (object sender, EventArgs e)
{
/ / Stocker la valeur dans une variable locale
this.sessionString = this.TextBox1.Text;
/ / Stocker la valeur dans la session
this.Session ["sessionString"] = this.TextBox1.Text;
/ / Affiche la valeur de la variable
this.Label1.Text = this.sessionString;
/ / Afficher la valeur de la session
this.Label2.Text = (string) this.Session ["sessionString"];
}
Également modifier l'événement Page_Load de telle sorte que la deuxième série de la chaîne d'étiquette extraites de la session
protected void Page_Load (object sender, EventArgs e)
{
this.Label1.Text = this.sessionString;
this.Label2.Text = (string) this.Session ["sessionString"];
}
Nous commençons maintenant à l'application et d'écrire quelque chose de nouveau dans la zone de texte, puis en cliquant sur le bouton Enregistrer. Nous devrions voir quelque chose comme

Si vous cliquez maintenant sur Show verrez que le premier paramètre est réglé sur une chaîne vide, tandis que le second sera de maintenir la valeur

Bien que la valeur de la variable locale est perdue, car la page est recréée, la valeur stockée dans l'objet Session persiste et peut être consulté.
En ce qui concerne la configuration des différents paramètres pour la gestion de la session, je vous invite à consulter la documentation officielle de Microsoft.
| |
ASP (Advanced)
Cours complet pour la création de sites Web dynamiques. A partir de 39 €. |
| |
ASP.NET (Cours)
Cours complet pour construire des applications Web à partir de 49 €. |
| |
SQL et bases de données (cours)
Créer et gérer des bases de données relationnelles. A partir de 39 €. |