..
Udvikling og implementering af web-applikationer kræver overvågning af situationen i den samme på alle tidspunkter. Et af de vigtigste stater er forbundet med session (session state) og ASP.NET giver en stor støtte for sin forvaltning.
På dette tidspunkt vejledning bør være klart, at i programmering web-udviklede applikationer tjene flere brugere, fordelt over et stort område, baseret på en afbrudt protokol (HTTP).
Når sessionen staten er aktiveret for hver anmodning, ASP.NET skaber en ny session objekt, som bliver en del af den sammenhæng og kan hentes via siden. I dette objekt er tildelt en identifikator, og det bliver en handy beholder med oplysninger, hvis varighed er større end den side den henviser til.
Sessionen objekt er en ordbog af navn / værdi par, og gennem det kan du binde ethvert objekt til en nøgle, så du kan få adgang til det, når det er nødvendigt, at bruge sin egen nøgle.
For eksempel bør hvis vi ønsker at gemme nogle oplysninger om en bruger i en session objekt skrive noget i retning af
StoreInfoInSession void ()
{
String = TextBox1.Text strInputUtente;
Session ["strInputUtente"] = strInputUtente;
}
og en efterfølgende anmodning, hvis vi ønsker at hente denne værdi, vi skal skrive
GetInfoFromSession void ()
{
StrInputUtente String = Session ["strInputUtente"];
TextBox1.Text = strInputUtente;
}
Adm. Session stat i ASP.NET er ekstremt praktisk, især fordi denne teknologi i denne type objekt kan placeres forskellige steder: i den nuværende proces, blev adskilt på en server, en SQL Server-database.
For bedre at forstå, hvordan mødet var et eksempel, hvor vi ser vi vil oprette et websted med en side, der gemmer en værdi som en del af sessionen staten. Dette gør det klart, at forskellen mellem det aktuelle af en side i løbet af en anmodning og oplysninger i forbindelse med en session, der, som nævnt, fortsætter selv efter anmodningen.
Vi skaber en ny web-applikation og webformular Default.aspx indsætte en tekstboks til at indtaste den værdi, der skal gemmes i session state. Vi har også tilføje to knapper, en til at gemme data og for at få vist en status

Også indsætte tekstboksen ved siden af en etiket til at vise de data, til at ringe tilbage til dig senere. Indsæt en variabel af typen string i vores side og i Page_Load sætte værdien af denne streng i vores tekstboks
sessionString streng;
protected void Page_Load (object sender, EventArgs e)
{
this.Label1.Text = this.sessionString;
}
Dobbelt-klik på knappen Klik på begivenheden Stores generere den tilsvarende inde og indsætte den kode, der henter den streng, der er indeholdt i tekstfeltet, og gemmer den i variabel sessionString, indstilling etiketten side med den samme tekst
MemorizzaBtn_Click protected void (object sender, EventArgs e)
{
this.sessionString = this.TextBox1.Text;
this.Label1.Text = this.sessionString;
}
Vi starter programmet og skrive noget i tekstfeltet og klik på Gem.
Vi bør se noget lignende

Hvis vi klikker på knappen Vis etiketten antager en værdi af tomme streng som den variable er instantieret sessionString igen (fordi siden er genskabt). Det er fordi vi sætter det i Page_Load Tekst ejendom etiketten er sat til værdien af den variable sessinString. Som vi har nævnt flere gange i virkeligheden, siderne er meget korte levetid objekter, er levetiden af en anmodning og så ødelagt af alle data i dem. Så hvis målet er at gemme nogle data, som går ud over varigheden af en side, så snart den tilgang ikke er god.
Brugen af session stat er vejen til at løse dette problem. For bedre at forklare konceptet vi tilføjer en anden etiket til vores webformular og indstille den som allerede er til stede

Dette andet mærke vil være nyttigt at vise data hentet gennem session objekt. MemorizzaBtn_Click ændre begivenheden, så teksten er taget fra tekstboksen er også gemt i session
MemorizzaBtn_Click protected void (object sender, EventArgs e)
{
/ / Store værdien i lokale variable
this.sessionString = this.TextBox1.Text;
/ / Store værdien i session
this.Session ["sessionString"] = this.TextBox1.Text;
/ / Viser værdien af den variable
this.Label1.Text = this.sessionString;
/ / Vis værdien af sessionen
this.Label2.Text = (string) this.Session ["sessionString"];
}
Også ændre Page_Load begivenhed, så det andet sæt etiketten strengen hentet fra sessionen
protected void Page_Load (object sender, EventArgs e)
{
this.Label1.Text = this.sessionString;
this.Label2.Text = (string) this.Session ["sessionString"];
}
Vi starter programmet nu og skrive noget igen i tekstboksen og derefter klikke på knappen Gem. Vi bør se noget lignende

Hvis du nu klikker på Vis vil se, at den første parameter sættes til tom streng, mens sidstnævnte vil bevare værdien

Mens værdien af den lokale variabel er tabt, fordi siden er genskabt, den værdi, der er gemt i Session objektet fortsætter og kan høres.
Med hensyn til konfiguration af forskellige parametre for forvaltningen af sessionen inviterer jeg dig til at konsultere den officielle Microsoft dokumentation.
| |
ASP (Advanced)
Fuld kursus for at skabe dynamiske web-sites. Fra 39 €. |
| |
ASP.NET (Kursus)
Fuld kursus for bygge web-applikationer fra 49 €. |
| |
SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €. |