Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET.
Korzystając z obiektów wbudowanych w ASP .NET, możemy uzyskać dostęp do wielu przydatnych informacji na temat naszej aplikacji, serwera itp. Obiekty te nazwane zostały ASP .NET
Page i Application Context
Poniżej lista obiektów (przedstawiona jako właściwości obiektu Page), kóre możemy używać do uzyskiwania informacji dotyczących strony i kontekstu aplikacji.
| Obiekt |
Opis |
| Response |
Instancja klasy System.Web.HttpResponse. Daje dostęp do HTTP response wysłanego z serwera do klienta po otrzymaniu nadchodzącego żądania. Możemy go użyć do wyświetlania cookies, przekierowania usera itp.
|
| Request |
Instancja klasy System.Web.HttpRequest. Daje dostęp do informacji, które są częścią bieżącego żądania strony, zawiera ciasteczka, certyfikaty itp |
| Server |
Instancja klasy System.Web.HttpServerUtility. Przedstawia metody, które możemy użyć do kontrolowania transferu między stronami, zawiera informację o najnowszych błędach, koduje i dekoduje HTML. |
| Context |
Instancja klasy System.Web.HttpContext. Daje dostęp do całego bieżącego kontekstu. Większość metod i właściwości dostarczanych przez Context jest również dostarczane przy innych często używanych obiektach takich jak Request czy Server |
| Session |
Instancja klasy System.Web.HttpSessionState. Dostarcza informacji na temat bieżącej sesji usera. |
| Application |
Instancja klasy System.Web.HttpApplicationState. Daje dostęp do metod i zdarzeń aplikacji dla wszystkich sesji. |
| Trace |
Instancja klasy System.Web.HttpWebTraceContext. |
Obiekty Response
Właściwość Page.Response jest obiektem HttpResponse, który pozwala na dodanie danych do HTTP Response i wysłania z powrotem do klienta. Poniżej kilka użytecznych metod:
| Metoda |
Opis |
| BinaryWrite |
Wpisuje znaki binarne do odpowiedzi HTTP. |
| ClearContent |
Kasuje zawartość ze strumienia, nie zawiera nagłówków HTTP |
| ClearHeaders |
Kasuje nagłówki ze strumienia |
| End |
Kompletuje odpowiedź i zwraca stronę dla usera |
| TransmitFile |
Zapisuje plik do odpowiedzi HTTP bez buforowania |
| Write |
Zapisuje informację do odpowiedzi HTTP z buforowaniem |
| Expires |
Liczba minut pozostała do momentu, gdy przeglądarka powinna zatrzymać “cach’owanie “ strony. |
Oczywiście metod jest dużo więcej ale odsyłam do msdn po więcej informacji.
Obiekty Request
Tak jak powyżej, kilka przydatnych metod Page.Request.
| Metoda |
Opis |
| SaveAs |
Zapisuje żądanie do pliku |
| Headers |
Pobiera kolekcję nagłówków HTTP |
| IsAuthenticated |
Boolowska wartość, mówiąca o tym czy klient jest autoryzowany. |
| IsLocal |
Boolowska wartość mówiąca o tym, czy pochodzi z locala |
| QueryString |
Kolekcja “query stringów” czyli np. możemy sczytać sobie id z adresu sczytać. |
| TotalBytes |
Długość żądania |
| UserHostAddress |
Adres IP klienta |
| PhysicallPath |
Fizyczna ścieżka do bieżącego żądania |
Obiekty Server
Przydatne metody Page.Server:
| Metoda |
Opis |
| ClearError |
Czyści ostatni błąd |
| GetLastError |
Zwraca poprzedni wyjątek |
| HtmlDecode |
Usuwa znaczniki HTML ze stringa |
| MapPath |
Zwraca ścieżkę do pliku, który odpowiada specyficznej ścieżce na serwerze |
| UrlDecode |
Dekoduje stringi zakodowane dla transmisji HTTP i wysyła do serwera w URL. |
| UrlEncode |
Koduje stringi dla transmisji HTTP |
Obiekty Context
| Metoda |
Opis |
| AddError |
Dodaje wyjątek do strony, który później może być pobierana przez wywołanie Server.GetLastError |
| ClearError |
Czyści ostatni błąd |
| AllErrors |
Kolekcja nieobsłużonych wyjątków |
| IsCustomErrorEnabled |
Boolowska wartość, która jest true jeśli własne błędy są obsługiwane |
| IsDebuggingEnabled |
Boolowska wartość, która jest true jeśli debugowanie jest włączone |
Określanie typu przeglądarki
Aby upewnić się, że nasze strony są wyświetlane poprawnie, bardzo ważne jest upewnienie się czy każdy rodzaj przeglądarki wyświetli nasze komponenty itp. Jeżeli korzystamy głównie z ASP .NET, mamy dużą pewność, że nie będzie problemu z przeglądarkami ponieważ komponenty ASP .NET same dostosowują się do różnych typów. Jeśli jednak używamy elementów z DHTML-a, JavaScript oraz CSS, możemy mieć w przyszłości problemy z wyświetlaniem na różnych przeglądarkach.
Aby zapobiec różnym nie fajnym sytuacjom należy sprawdzać różne ustawienia przeglądarki. Do tego celu służy “HttpBrowserCapabilities object” i różne właściwości w nim zawarte m.in:
| Właściwość |
Opis |
| ActiveXControls |
Pobiera wartość, która wskazuje czy przeglądarka obsługuje ActiveX |
| AOL |
Pobiera wartość, która wskazuje czy klientem jest przeglądarka AOL |
| BackgroundSounds |
Pobiera wartość, która mówi o tym czy przeglądarka wspiera odtwarzanie muzyki w tle używając taga <bgsounds> |
| Cookies |
Sprawdzanie czy włączone są ciasteczka |
| Frames |
Sprawdzanie, czy obsługiwane są ramki |
| JavaScript |
Sprawdzanie, czy obsługiwany jest JS |
| JScriptVersion |
Zwraca wersję JavaScript obsługiwaną przez przeglądarke |
| JavaApplets |
Sprawdzanie, czy są obsługiwane aplety java |
| ClrVersion |
Sprawdzanie wersji .NET zainstalowanej u klienta |
To wszystko na dzisiaj. Jak widzimy artykuł bardziej teoretyczny. Polecam zajrzenie do MSDN i poczytanie dodatkowo o wszystkich rzeczach, o których dzisiaj mówiliśmy :)
Do piątku :)