Wgląd w techniki zarządzania stanem oferowane przez ASP.NET

1

Istnieje wspólne ograniczenie, które można zaobserwować w funkcjonowaniu prawie wszystkich aplikacji internetowych, które zwiększa ich bezstanowe zachowanie. Jest to przerywane połączenie między serwerem a klientem.

Co się dzieje, podczas implementacji protokołu HTTP (Hyper Text Transfer Protocol) do komunikacji przez Internet, przestrzegany jest określony wzorzec znany jako żądanie i odpowiedź. Ten wzorzec jest w rzeczywistości z natury bezstanowy, ponieważ nie zachowuje stanu żadnego żądania ani odpowiadającej mu odpowiedzi. Dlatego za każdym razem, gdy klient inicjuje żądanie do serwera WWW, serwer WWW tworzy zupełnie nowy obiekt żądania. To ostatecznie powoduje przerwy w połączeniu i tworzy wąskie gardła w wydajności.

Na szczęście ASP.NET oferuje doskonałe rozwiązanie tego problemu dzięki kilku skutecznym technikom zarządzania stanem aplikacji internetowych.

Przyjrzyjmy się niesamowitym możliwościom platformy ASP.NET i zrozummy, w jaki sposób pomaga ona zachować stan kontrolek.

Zaobserwowano, że gdy wzorzec żądania i odpowiedzi tworzy podróże w obie strony, wartość kontrolna serwera jest w jakiś sposób sprzedawana detalicznie, podczas gdy wartość kontrolna HTML znika. Dzieje się tak dlatego, że Kontrole Serwera niejawnie implementują technikę zarządzania stanem (Wyświetl stan), która umożliwiła zachowanie stanów.

ASP.NET oferuje wiele genialnych metod zarządzania stanem, wszystkie przeznaczone są do różnych zastosowań. Są one zasadniczo podzielone na dwie szerokie kategorie, a mianowicie zarządzanie stanem oparte na kliencie i zarządzanie stanem oparte na serwerze. Oto krótkie wprowadzenie do kilku technik.

Zarządzanie stanem w oparciu o klienta

W tym podejściu dane są przechowywane na maszynie klienta lub na stronie bez angażowania zasobów serwera. Te przechowywane dane obejmują wszystkie informacje związane z interakcją między klientem a serwerem. Ponieważ dane są przechowywane po stronie klienta, są bardziej podatne na włamanie, przez co techniki są mniej bezpieczne, a jednocześnie bardziej skalowalne.

Dzięki takiemu podejściu ASP.NET ułatwia poniższe metody:

1) Wyświetl stan:

Ta metoda na poziomie strony pomaga przechowywać informacje o konkretnej stronie, dopóki nie będzie ona aktywna. Oznacza to, że gdy tylko użytkownik przekieruje się na inną stronę, wszystkie zapisane informacje znikną. W ten sposób pomaga utrzymać stan na poziomie strony. W tej technice dane są przechowywane w postaci obiektu słownika (w parze klucz i wartość). Wszystkie informacje są przechowywane w postaci zahaszowanej na samej stronie, ale w ukrytym polu. Może zużywać wartość ciągu, ale tylko do pewnego stopnia, jeśli wartość przekracza, zużywane jest inne ukryte pole.

W ASP.NET View State jest domyślną metodą stosowaną do przechowywania stanu dla aplikacji internetowych. Jest dość prosty w implementacji i idealnie nadaje się do użycia, gdy użytkownik jest przekierowywany na tę samą stronę, dlatego musimy zachować stałą informację, dopóki sam nie przekieruje na inną stronę.

Zalety używania stanu widoku:

  • Zabezpiecz przechowywane informacje przed laikami, przechowując je w zaszyfrowanym formacie. W rzeczywistości, aby chronić go przed hakerami, możesz przechowywać informacje w zaszyfrowanym formacie.
  • Możesz go dostosować, kiedy tylko chcesz.
  • Jest to świetna opcja, gdy chcesz zaimplementować wiele zwrotów postów na jednej stronie internetowej.

Wady używania stanu widoku:

  • Nie jest to bezpieczne podejście, więc nie można w nim przechowywać wrażliwych danych.
  • Może to powodować problemy z obciążeniem lub wydłużyć czas ładowania, powodując, że strona jest wypełniona dużą ilością informacji.
2) Pliki cookie:

Oferuje dużą łatwość dostosowywania po stronie klienta, ponieważ pliki cookie są przechowywane albo w pamięci podczas sesji przeglądarki klienta, albo między innymi w systemie klienta. W rzeczywistości można nawet przechowywać informacje dotyczące użytkowników i śledzić użycie. Posiada mały plik tekstowy o maksymalnym rozmiarze 4096 bajtów, a maszyna kliencka może wyświetlać maksymalnie 300 plików cookie, podczas gdy domena lub serwer może obsługiwać maksymalnie 20 plików cookie.

Pliki cookie dzielą się dalej na dwie kategorie, a mianowicie:

Cookies trwałe – tego rodzaju cookies posiadają datę ważności i są trwale zapisywane na dysku twardym urządzenia Klienta. Jeśli nie ma daty wygaśnięcia odpowiadającej stałemu plikowi cookie, zostanie on uznany za tymczasowy lub nietrwały plik cookie.

Nietrwały plik cookie lub tymczasowy plik cookie – ponieważ tego rodzaju pliki cookie są przechowywane w pamięci przeglądarki po stronie klienta przez określony czas, po tym czasie plik cookie zostanie utracony.

Plusy korzystania z plików cookie:

  • Po prostu zużywa kilka bajtów pamięci na plik cookie.
  • Łatwy i dość prosty w użyciu.

Wady korzystania z plików cookie:

  • Nie oferuje bezpiecznego podejścia, ponieważ przechowuje informacje na komputerze klienta, a zatem przechowywanie poufnych danych nie jest opłacalnym wyborem.
  • Każdy użytkownik może wyłączyć pliki cookie, dokonując odpowiednich zmian w ustawieniach przeglądarki.
3) Ukryte pola:

Jest to w zasadzie kontrola serwera, która pomaga zarządzać wartością na poziomie strony i jest trochę podobna do stanu widoku. Jego wartość jest wysyłana za pośrednictwem HTTP Form Collection, a wraz z nią przesyłana jest również wartość innych kontrolek.

Zalety korzystania z ukrytych pól:

  • Jest dość prosty w użyciu.
  • Ponieważ wartość jest przechowywana tylko na stronie, zasoby serwera nie są w ogóle wykorzystywane. W ten sposób ukryte pola oszczędzają zasoby serwera.

Wady korzystania z ukrytych pól:

  • Jeśli na stronie zostanie zaimplementowanych kilka ukrytych pól, ostatecznie zwiększy to wagę strony i zwiększy jej objętość, a tym samym wydłuży czas ładowania strony.
  • Takie podejście nie jest idealne do przechowywania wrażliwych danych. Ponieważ nie przechowuje danych w zaszyfrowanym lub zaszyfrowanym formacie, ta technika nie jest całkowicie bezpieczna.
4 Stan aplikacji:

Ten stan jest idealny do przechowywania danych, do których dostęp jest wymagany w całej aplikacji. Zajmuje zasoby serwera, ponieważ przechowuje dane w pamięci serwera. Stan aplikacji nie jest ograniczony do konkretnego użytkownika lub sesji, ale ma zastosowanie do wszystkich sesji i użytkowników. Jednak w tym przypadku dane będą przechowywane tylko do czasu działania aplikacji, gdy tylko aplikacja zostanie zakończona lub uruchomiona ponownie, wszystkie zapisane dane zostaną utracone. W rzeczywistości zostanie również zmarnowany, gdy serwer WWW zostanie ponownie uruchomiony, ponieważ dane są przechowywane na końcu serwera.

W stanie aplikacji do przechowywania danych używany jest obiekt klasy HttpApplicationState. Ta klasa jest nazwaną kolekcją obiektów, co oznacza, że ​​zawiera dane dowolnego typu. Może to być część pary klucz/wartość.

Zalety stanu aplikacji:

  • Stan aplikacji ma zasięg globalny. Dostęp do danych można uzyskać w dowolnym momencie, gdy aplikacja jest uruchomiona.
  • Domyślnie nie ma okresu ważności.

Wady stanu aplikacji:

  • Stan aplikacji wymaga zasobów serwera do przechowywania danych. Może to prowadzić do problemów ze skalowalnością, jeśli nie jest obsługiwane prawidłowo.
  • Stan aplikacji nie jest bezpieczny dla wątków, dlatego musimy zaimplementować blokady.
  • W przypadku awarii lub ponownego uruchomienia aplikacji wszystkie zapisane dane zostaną utracone.
5 Stan sesji:

Ta metoda jest najczęściej używana przez kilku programistów do utrzymywania stanu aplikacji. W tym podejściu wartość jest przechowywana w postaci kolekcji słownikowej, czyli jest parowana jako klucz i wartość. Tutaj zasoby serwera są w całości wykorzystywane do przechowywania stanu aplikacji. Ponieważ przechowywane dane nie są przekazywane klientom, technika ta oferuje bezpieczną i wysoce bezpieczną metodę.

W tym podejściu dla każdego użytkownika generowana jest oddzielna sesja z unikalnym identyfikatorem. Ponieważ ten identyfikator jest zapisywany w systemie klienta, do jego przechowywania wykorzystywane są pliki cookie. Sesja jest zabijana, gdy tylko użytkownik wyloguje się z aplikacji, a jeśli wróci do aplikacji w przyszłości, tworzona jest nowa sesja.

Można go używać w dowolnym z czterech trybów. Oto tryby:

  • OFF – Aby dezaktywować sesję, czyli jeśli nie jesteś zainteresowany uwzględnianiem stanu sesji w swojej aplikacji, możesz ustawić tryb OFF.
  • InProc – Zmienne sesyjne są domyślnie przechowywane w tym trybie. W tym przypadku wartość jest przechowywana w tym samym procesie, w którym faktycznie jest wykonywana aplikacja ASP.NET. W ten sposób zapewnia wyjątkową wydajność.
  • State Server — w tym trybie dane są przechowywane w osobnym procesie w ramach usługi systemu Windows. W ten sposób izoluje dwa procesy, jeden, w którym działa aplikacja, a drugi, w którym przechowywane są dane. Stąd jego wydajność nie jest tak dobra jak w trybie InProc.
  • SQL Server – Tutaj dane sesji są przechowywane w SQL Server. Trudno jest zarządzać w trybie InProc z wieloma serwerami. W tym celu lepiej przechowywać dane tylko na serwerze SQL, dzięki czemu dane będą dostępne centralnie dla wszystkich maszyn. Ten tryb zapewnia najwyższe bezpieczeństwo, jednak obniża wydajność.

Te pięć to najczęściej używane techniki zarządzania stanem dla aplikacji ASP.NET. Zintegruj tę technikę w swojej aplikacji, która może zapewnić pełne bezpieczeństwo danych i szybkie działanie.

Comments are closed, but trackbacks and pingbacks are open.

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów