..


Gesponsorde links

Het beheren van Session State

De ontwikkeling en implementatie van webapplicaties vereist controle van de toestand van dezelfde te allen tijde. Een van de belangrijkste staten wordt geassocieerd met de sessie (sessie staat) en ASP.NET is een grote steun voor het beheer ervan.

Op dit punt van de handleiding moge duidelijk zijn dat in de programmering ontwikkelde web-applicaties met meerdere gebruikers te bedienen, verspreid over een groot gebied, op basis van een verbroken protocol (HTTP).

Wanneer de sessie staat is ingeschakeld voor elke aanvraag, ASP.NET creëert een nieuw Session-object, dat onderdeel wordt van de context en is toegankelijk via de pagina. In dit object is toegewezen een id en het wordt een handige container van gegevens waarvan de duur groter is dan de pagina waarnaar hij verwijst.

Het Session object is een woordenboek van naam / waarde-paren, en daardoor kunt u ieder object binden aan een sleutel, zodat u het kunt openen wanneer dat nodig is, met eigen sleutel.

Bijvoorbeeld, moeten als we willen wat informatie over een gebruiker in een sessie object op te slaan schrijven iets als






 StoreInfoInSession void ()







 {

 

  



 String = TextBox1.Text strInputUtente;

 

  



 Session ["strInputUtente"] = strInputUtente;







 }



en een later verzoek willen we deze waarde op te halen moeten we schrijven





 GetInfoFromSession void ()







 {

 

  



 StrInputUtente String = Session ["strInputUtente"];

 

  



 TextBox1.Text = strInputUtente;







 }



Het beheren van Session State in ASP.NET is zeer handig, vooral omdat deze technologie in dit type object kan worden geplaatst op verschillende plaatsen: in het huidige proces, werd gescheiden op een server, een SQL Server-database.

Om beter te begrijpen hoe de sessie was een voorbeeld waarbij we zien we een website te maken met een pagina die een waarde van winkels in het kader van de sessie staat. Dit maakt duidelijk het verschil tussen de toestand van een pagina in een verzoek en de informatie in verband met een sessie die, zoals gezegd, blijven ook na het verzoek.

We creëren een nieuwe webapplicatie en web-formulier Default.aspx invoegen een tekstvak om de waarde die moet worden opgeslagen in sessie staat in te voeren. We voegen ook twee knoppen, een voor het opslaan van gegevens en een status display

Ook invoegen tekstvak naast een label om de gegevens weer te geven om u terug te bellen later. Plaats een variabele van het type string in onze pagina en in de Page_Load de waarde van deze string in onze tekstvak






 sessionString string;









 protected void Page_Load (object sender, EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;







 }



Dubbelklikken op de knop Click-gebeurtenis Slaat het genereren van de bijbehorende binnen en plaats de code dat de tekenreeks die in het tekstvak ophaalt en slaat deze op in variabele sessionString, het instellen van het etiket met dezelfde tekst





 MemorizzaBtn_Click protected void (object sender, EventArgs e)







 {



  



 this.sessionString = this.TextBox1.Text;



  



 this.Label1.Text = this.sessionString;







 }



We beginnen de applicatie en schrijf iets in het tekstvak en klik op Opslaan. We moeten zien iets als

Als we klikt u op de View knop het label krijgt een waarde van lege string als de variabele is geïnstantieerd sessionString weer (omdat de pagina is herschapen). Dit is omdat we het in Page_Load de eigenschap Text van het label is ingesteld op de waarde van de variabele sessinString. Zoals we al meermaals in feite, de pagina's een zeer korte levensduur objecten, zijn de levensduur van een verzoek en vervolgens vernietigd door alle gegevens in hen. Dus als het doel is om een ​​aantal gegevens op te slaan die verder gaat dan de duur van een pagina zodra de aanpak niet goed is.

Het gebruik van sessie staat is de manier om dit probleem op te lossen. Om beter uit te leggen het concept dat we een tweede label toe te voegen aan ons webformulier en stel deze in als dat al aanwezig

Deze tweede label zal nuttig zijn om gegevens die zijn opgehaald door middel van het Session object weer te geven. MemorizzaBtn_Click wijzigen van de gebeurtenis, zodat de tekst uit het tekstvak is ook opgeslagen in de sessie






 MemorizzaBtn_Click beschermde void (object sender, EventArgs e)







 {



  



 / / Sla de waarde in lokale variabele



  



 this.sessionString = this.TextBox1.Text;





  



 / / Sla de waarde in de sessie



  



 this.Session ["sessionString"] = this.TextBox1.Text;





  



 / / Toon van de waarde van de variabele



  



 this.Label1.Text = this.sessionString;





  



 / / Toon van de waarde van de sessie



  



 this.Label2.Text = (string) this.Session ["sessionString"];







 }



Ook wijzigen de gebeurtenis Page_Load, zodat de tweede set het label snaar opgehaald uit de sessie





 protected void Page_Load (object sender, EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;



  



 this.Label2.Text = (string) this.Session ["sessionString"];







 }



We beginnen de applicatie af en toe iets schrijven in het tekstvak, vervolgens te klikken op de knop Opslaan. We moeten zien iets als

Als u nu klikt op Show zal zien dat de eerste parameter wordt ingesteld op de lege string, terwijl de laatste de waarde te behouden

Terwijl de waarde van de lokale variabele is verloren, omdat de pagina is herschapen, wordt de waarde opgeslagen in het Session object blijft bestaan ​​en kan worden geraadpleegd.

Ten aanzien van de configuratie van de verschillende parameters voor het beheer van de sessie nodig ik u uit om de officiële Microsoft-documentatie te raadplegen.

Hulp met Visual Studio ASP.Net
E-Learning
ASP (Advanced) ASP (Advanced)
Volledige cursus voor het maken van dynamische websites. Van 39 €.
ASP.NET (Cursus) ASP.NET (Cursus)
Volledige cursus voor het bouwen van webapplicaties van 49 €.
SQL en Database (Cursus) SQL en Database (Cursus)
Maken en beheren van relationele databases. Van 39 €.
Gesponsorde links