Znajduje także zastosowanie w bardziej skomplikowanych projektach, jednak - przynajmniej mi - brakuje w niej oddzielenia kodu od warstwy prezentacji. Jest to właściwie niemożliwe do osiągnięcia. Co za tym idzie trudniej tworzyć automatyczne testy dla naszego produktu.
Dodatkowym obciążeniem jest system zapamiętywania stanu kontrolek - ViewState. Powoduje on zwiększenie ruchu pomiędzy przeglądarką użytkownika i serwerem. Tak czy inaczej Microsoft rozwija tę technologię. WebFormsy posiadają bardzo dużą ilość gotowych kontrolek - które po podpięciu źródła danych oferują bogate możliwości prezentacji danych użytkownikowi.
1. Podstawowe pocjęcia
Na początek trochę podstawowych informacji, związanych głównie z samym protokołem HTTP:
Request - żądanie przez przeglądarkę danych z serwera WWW - za pomocą obiektu tej klasy w ASP można wysłać informacje z ciasteczek, query string itp.
Response - odpowiedź serwera na zapytanie przeglądarki - pozwala np. na zapis ciasteczek na komputerze użytkownika
GET - metoda w protokole HTTP stosowana przede wszystkim do pobierania danych, tam gdzie użytkownik ma możliwość powrotu do stanu wcześniejszego po pewnym czasie poprzez zdefiniowany adres
POST - metoda w HTTP pozwalająca na przesyłanie danych (najczęściej z formularza)
IsPostBack - metoda w ASP.NET pozwalająca na sprawdzenie czy jest to pierwsze wywołanie strony, czy też PostBack - czyli wysłanie strony do serwera (np odświeżenie przez użytkownika za pomocą klawisza F5):
Code:
Właściwość tę najczęściej wykorzystujemy w przypadku kiedy w metodzie Load strony podpinamy jakieś źródło danych czy też wypełniamy kontrolki danymi. Dzięki temu unikamy zdublowaniu danych w kontrolkach.
Zapamiętywanie informacji
W ASP.NET WebForms mamy podobnie jak w MVC i innych technologiach internetowych możliwość zapamiętywania danych pomiędzy kolejnymi przejściami między stronami. Mechanizmów jest kilka, a dzielą się one na dwie grupy:
działające po stronie serwera:
+ bezpieczeństwo
+ nie zwiększa ilości przesyłanych danych
- zużycie zasobów serwera (pamięć, procesor)
działające po stronie klienta:
+ brak obciążenia serwera
- zwiększenie zużycia pasma
- mniejsze bezpieczeństwo przesyłanych danych
Pliki Cookie:
Code:
QueryString:
Query string możemy zdefiniować w następujący sposób:
adres strony/ + querystring
Tak więc QueryString to nic innego jak parametry które są przesyłane pomiędzy wywołaniami za pomocą adresu www. Jeżeli chodzi o sam adres www musimy sami go stworzyć. Czytaniem wartości QueryString zajmuje się odpowiednia klasa, która przyporządkowuje wartości do słownika:
Dla adresu http://localhost:56505/Default.aspx?FirstName=Jacek&LastName=Kowalski użyjemy:
Code:
Jak więc widać QueryString tworzymy w następujący sposób:
po adresie strony stawiamy pytajnik - ?
klucze oddzielamy od siebie za pomocą znaku ampresanda &
klucze zapisujemy w postaci klucz=wartosc
W każdym przypadku powinniśmy parsować to co otrzymamy od użytkownika. Zabezpieczamy się tym samym przed uruchomieniem złośliwego oprogramowania. Aby przeparsować dane od użytkownika możemy użyć metody HtmlEncode:
Code:
ViewState:
Wartości kontrolek na formie, aby zostały odtworzone po np. przeładowaniu formatki, są zapisywane do ukrytego pola - ViewState. Domyślnie wartość każdej kontrolki jest zapamiętywana w ViewState. Można jednak wyłączyć zapamiętywanie dla tych kontrolek dla których wiemy że nie jest to potrzebne.
Session:
Jest to sposób na przechowywanie danych po stronie serwera. Dla każdego użytkownika tworzony jest nowy taki obiekt i w zależności od ustawień aplikacji trzymany przez pewien określony czas:
Code:
Należy pamiętać, że każda zmienna sesji obciąża serwer i powoduje rezerwację pamięci dla każdego użytkownika, który w danym czasie wszedł na naszą witrynę.
Application
Podobnie jak w przypadku sesji jest to mechanizm działający po stronie serwera. Różnica między zmienną sesyjną a aplikacji jest taka, iż zmienna aplikacji jest tylko jedna tzn. tworzy się w momencie pierwszego wejścia na stronę, a kończy swój okres życia w momencie wyłączenie całkowicie aplikacji.
Code:
Pisanie stron w asp net mija się troszkę z celem. Dziś jest wiele różnych fajnych platform, dzięki któremu zrobimy dobrą stronę www. Tworzeniem stron www https://dolp.pl/strony-www lepiej, żeby zajął się ktoś, kto się na tym zna. Samo asp.net jest bardziej do robienia aplikacji webowych, niż do tworzenia stron www.
OdpowiedzUsuńUważam, iż w przypadku pozycjonowania całkiem ważna jest cierpliwość oraz spokój. Właśnie dlatego również należy cały czas się zwiększać wiedzę i przeglądać nowe artykuły. Jak dla mnie niedawno spodobał się bardzo fajny wpis http://www.seo-reklama.pl/co-to-jest-pozycjonowanie-stron/ i jestem zdania, że warto mieć wiedzę czym w takiej sytuacji się pozycjonowanie zajmuje.
OdpowiedzUsuńNiestety dla mnie jest to bardzo niezrozumiałe i dziś również wiem, że sam fakt posiadania strony www jest czymś bardzo ważnym. Od siebie chcę dodać, że ja również korzystałem z usług agencji https://haiku.com.pl/ i to był bardzo mądry wybór.
OdpowiedzUsuń