..
Utvikling og utrulling av web-applikasjoner krever overvåking av tilstanden i samme til alle tider. En av de viktigste statene er forbundet med økt (session state) og ASP.NET gir god støtte for forvaltningen.
På dette punktet guiden bør være klart at i programmering webapplikasjoner utviklet betjene flere brukere, fordelt over et stort område, basert på en frakoblet protokoll (HTTP).
Når økten staten er aktivert for hver forespørsel, skaper ASP.NET en ny Session objekt, som blir en del av konteksten og kan nås gjennom siden. I dette objektet er tildelt en identifikator, og det blir en praktisk beholder med informasjon hvis lengde er større enn siden den refererer til.
Den Session objektet er en ordbok med navn / verdi-par, og gjennom det kan du binde noen innvendinger mot en nøkkel slik at du får tilgang til den når det er nødvendig, bruker sin egen nøkkel.
For eksempel bør hvis vi ønsket å lagre noe informasjon om en bruker i en session objekt skrive noe sånt
StoreInfoInSession void ()
{
String = TextBox1.Text strInputUtente;
Session ["strInputUtente"] = strInputUtente;
}
og en påfølgende forespørsel om vi ønsket å hente en slik verdi vi bør skrive
GetInfoFromSession void ()
{
StrInputUtente String = Session ["strInputUtente"];
TextBox1.Text = strInputUtente;
}
Managing Session State i ASP.NET er svært rimelig, selv i denne teknologien fordi denne type objekt kan plasseres på ulike steder: i den nåværende prosessen, ble separert på en server, en SQL Server-database.
For bedre å forstå hvordan økten var et eksempel der vi ser vi vil skape et nettsted med en side som lagrer en verdi som del av økten staten. Dette gjør det klart forskjellen mellom staten på en side under en forespørsel og informasjonen knyttet til en sesjon som, som nevnt, vedvarer selv etter forespørsel.
Vi skaper en ny web-applikasjon og webskjema Default.aspx sette inn en tekstboks til å angi verdien som skal lagres i øktstatus. Vi legger også til to knapper, en for å lagre data og å vise en status

Sett ved siden av tekstboksen for å vise en etikett samt samtalen tilbake senere. Sett inn en variabel av type string i siden og i vår Page_Load sett verdien av denne strengen i vår tekstboksen
sessionString streng;
beskyttet void Page_Load (objekt avsenderen, EventArgs e)
{
this.Label1.Text = this.sessionString;
}
Dobbeltklikke på knappen Klikk arrangementet Stores generere tilsvarende inne og sett koden som henter strengen finnes i tekstboksen og lagrer den i variabelen sessionString, sette etikettsiden med samme tekst
beskyttet void MemorizzaBtn_Click (objekt avsenderen, EventArgs e)
{
this.sessionString = this.TextBox1.Text;
this.Label1.Text = this.sessionString;
}
Vi starter programmet og skrive noe i tekstboksen og klikker på Lagre.
Vi bør se noe som

Hvis du klikker på Vis knappen etiketten tar på en verdi av tom streng som variabelen er instansiert sessionString igjen (fordi siden er gjenskapt). Dette er fordi vi sette den i Page_Load Tekst eiendom etiketten er satt til verdien av variabelen sessinString. Som vi har nevnt flere ganger faktisk, sidene er svært kortvarige objekter ved å matche tidspunktet for en anmodning, og deretter blir ødelagt av alle data i dem. Så hvis målet er å lagre noen data som går utover levetiden på en side så snart tilnærmingen er ikke bra.
Bruken av øktstatus er måten å løse dette problemet. For bedre å forklare konseptet vi legge til en ekstra etikett til vår web-skjema og angi det som det allerede finnes

Denne andre etiketten vil være nyttig å vise data hentet gjennom Session objektet. MemorizzaBtn_Click endre arrangementet slik at teksten er hentet fra tekstboksene samt lagret i Session
beskyttet void MemorizzaBtn_Click (objekt avsenderen, EventArgs e)
{
/ / Store verdien i lokal variabel
this.sessionString = this.TextBox1.Text;
/ / Store verdien i Session
this.Session ["sessionString"] = this.TextBox1.Text;
/ / Vis verdien til variabelen
this.Label1.Text = this.sessionString;
/ / Vis verdien av økten
this.Label2.Text = (string) this.Session ["sessionString"];
}
Også endre Page_Load arrangementet slik at strengen i andre gjenvunnet etiketten pålagt av objektet Session
beskyttet void Page_Load (objekt avsenderen, EventArgs e)
{
this.Label1.Text = this.sessionString;
this.Label2.Text = (string) this.Session ["sessionString"];
}
Vi starter programmet nå og skrive noe igjen i tekstboksen, og deretter klikke på knappen Lagre. Vi bør se noe som

Hvis du nå klikke på Vis vi vil se at den første parameteren blir satt til tom streng, mens andre vil holde verdien

Mens verdien av lokal variabel er tapt, fordi siden er gjenskapt, vedvarer verdien som er lagret i Session objektet og kan konsulteres.
Når det gjelder konfigurering av ulike parametere for forvaltningen av økten Jeg inviterer deg til å konsultere den offisielle Microsoft dokumentasjon.
| |
ASP (Advanced)
Full kurs for å lage dynamiske nettsider. Starter fra 39 €. |
| |
ASP.NET (Course)
Full kurs for å bygge web-applikasjoner fra 49 €. |
| |
SQL og Database (Course)
Opprette og administrere relasjonsdatabaser. Starter fra 39 €. |