..


Linki sponsorowane

Zarządzanie stanu sesji

Rozwoju i wdrażania aplikacji internetowych wymaga monitorowania stanu tej samej przez cały czas. Jednym z najważniejszych państw jest związany z sesji (stan sesji) i ASP.NET stanowi doskonałe wsparcie dla zarządzania.

W tym punkcie instrukcji powinny być jasne, że w programowaniu aplikacji opracowanych internetowych służyć wielu użytkowników, rozproszonych na dużym obszarze, w oparciu o odłączeniu protokołu (HTTP).

Gdy stan sesji jest włączony dla każdego żądania, ASP.NET tworzy nowy obiekt sesji, która staje się częścią kontekstu i jest dostępny za pośrednictwem strony. W tym obiekt jest przypisany identyfikator i staje się poręcznym pojemniku informacji, których czas trwania jest większa niż strona odwołuje się do.

Obiekt Session jest słownikiem pary nazwa / wartość, a przez to można przypisać dowolny obiekt do klucza, dzięki czemu można uzyskać do niego dostęp w razie potrzeby, za pomocą własnego klucza.

Na przykład, jeśli chcemy przechowywać niektóre informacje na temat użytkownika w obiekcie sesji powinien napisać coś w rodzaju






 Void StoreInfoInSession ()







 {

 

  



 String = TextBox1.Text strInputUtente;

 

  



 Session ["strInputUtente"] = strInputUtente;







 }



i kolejne żądania, jeśli chcemy pobrać tę wartość powinniśmy napisać





 Void GetInfoFromSession ()







 {

 

  



 StrInputUtente String = Session ["strInputUtente"];

 

  



 TextBox1.Text = strInputUtente;







 }



Zarządzanie stanu sesji w ASP.NET jest bardzo wygodne, zwłaszcza, że ​​ta technologia w tego typu obiekt można umieścić w różnych miejscach: w bieżącym procesie, oddziela się na serwerze bazy danych SQL Server.

Aby lepiej zrozumieć sesji był przykład, w którym widzimy, będziemy tworzyć stronę internetową ze stroną, która przechowuje wartość jako część stanu sesji. To pokazuje różnicę między stanem strony podczas wniosku i informacji związanych z sesji, która, jak wspomniano, utrzymują się nawet po wniosku.

Tworzymy nową aplikację internetową i Default.aspx formularza internetowego wstawić pole tekstowe do wprowadzenia wartości mają być przechowywane w stanie sesji. Dodajemy również dwa przyciski, jeden do przechowywania danych i wyświetlania statusu

Także wstawić pole tekstowe obok etykiety, aby wyświetlić dane oddzwoni później. Wstaw zmienną typu string na naszej stronie oraz w Page_Load ustawić wartość tego ciągu w naszym polu tekstowym






 ciąg sessionString;









 protected void Page_Load (object sender, EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;







 }



Podwójne kliknięcie na sklep Kliknij przycisk przypadku wygenerowania odpowiedniego środka i wstawić kod, który pobiera ciąg znaków zawartych w polu tekstowym i zapisuje ją w zmiennej sessionString, ustawienie etykietą z tym samym tekstem





 MemorizzaBtn_Click protected void (nadawca, obiekt EventArgs e)







 {



  



 this.sessionString = this.TextBox1.Text;



  



 this.Label1.Text = this.sessionString;







 }



Mamy uruchomić aplikację i napisać coś w polu tekstowym i kliknij Zapisz. Powinniśmy zobaczyć coś takiego

Jeśli kliknąć przycisk Widok etykiecie przyjmuje wartość z pustego łańcucha jako zmiennej instancji sessionString ponownie (ponieważ strona jest odtwarzany). To dlatego, że możemy ustawić go w Page_Load właściwość Text etykiety jest ustawiana na wartość zmiennej sessinString. Jak już wspomniano kilka razy w rzeczywistości, strony są bardzo krótko obiektów, okres żądanie, a następnie są niszczone przez wszystkie dane w nich. Tak więc, jeśli cel jest do przechowywania danych, która wykracza poza czas trwania strony jak tylko podejście nie jest dobre.

Zastosowanie stanu sesji jest sposób na rozwiązanie tego problemu. Aby lepiej wyjaśnić pojęcie dodamy drugą etykietę z naszego formularza internetowego i ustawić go jako, że już

Ta druga etykieta będzie przydatna do wyświetlania danych pobierane przez obiekt Session. MemorizzaBtn_Click modyfikować przypadku tak, że tekst pochodzi z pola tekstowego jest również zapisana w sesji






 MemorizzaBtn_Click protected void (nadawca, obiekt EventArgs e)







 {



  



 / / Zapisz wartość w zmiennej lokalnej



  



 this.sessionString = this.TextBox1.Text;





  



 / / Zapisz wartości w sesji



  



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





  



 / / Wyświetlenie wartości zmiennej



  



 this.Label1.Text = this.sessionString;





  



 / / Pokaż wartość sesji



  



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







 }



Również modyfikować zdarzenia Page_Load tak, że drugi zestaw ciągu etykiety pobrane z sesji





 protected void Page_Load (object sender, EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;



  



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







 }



Zaczynamy wniosek teraz i napisać coś ponownie w polu tekstowym, a następnie klikając na przycisk Zapisz. Powinniśmy zobaczyć coś takiego

Jeżeli teraz klikniesz na wystawie będą widzieć, że pierwszy parametr zostanie ustawiony na pusty ciąg znaków, a drugi będzie utrzymanie wartości

Chociaż wartość zmiennej lokalnej jest stracone, ponieważ strona jest odtwarzane, wartości przechowywane w obiekcie Session utrzymuje i można się zapoznać.

W odniesieniu do konfiguracji różnych parametrów do zarządzania sesji zapraszam do skorzystać z oficjalnej dokumentacji firmy Microsoft.

Pomoc z Visual Studio ASP.Net
E-Learning
ASP (Advanced) ASP (Advanced)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 39 €.
ASP.NET (Kurs) ASP.NET (Kurs)
Pełny kurs do tworzenia aplikacji WWW od 49 €.
SQL i bazy danych (pole) SQL i bazy danych (pole)
Tworzenie i zarządzanie relacyjnymi bazami danych. Od 39 €.
Linki sponsorowane