Technologie internetowe
Wykład 10
Cykl życia strony i monitoring serwisu
Cykl życia - Żądanie strony
Decyzja o wysłaniu kodu HTML z bufora
Decyzja wczytaniu p-kodu strony z
bufora lub jej kompilacji, gdy:
Zmienił się kod strony
Zmieniła się zawartość pliku web.config
Zmieniła się pliki zasobów
Utworzenie obiektu Page
1
Cykl życia - Start
Inicjalizacja obiektu Request
Inicjalizacja obiektu Response
Określenie, czy strona jest wczytywana
po raz pierwszy, czy w wyniku odesłania
formularza
Ustawienie właściwości IsPostBack
Ustawienie właściwości UICulture
Cykl życia - Inicjalizacja
Inicjalizacja wszystkich kontrolek strony
Ustawienie i właściwości UniqueID
Zastosowanie tematu Theme
Zastosowanie wzorca strony
MasterPage
Kontrolki nie odtworzyły swoich
właściwości z odesłanego formularza
2
Cykl życia - Aadowanie
Żądanie przetworzone
Właściwości kontrolek odtworzone z
odesłanego formularza
Cykl życia - Obsługa zdarzeń formularza
Wywołanie metody Validate wszystkich
kontrolek walidatorów
Ustawienia właściwości IsValid
walidatorów i całej strony
Wywołanie metod obsługi zdarzeń
kontrolek
3
Cykl życia - Rendering
Zapisanie ViewState
Wywołanie metody Render każdej
kontrolki generującej jej reprezentację
HTML
Wpisanie kodu HTML do strumienia
wyjściowego Respone.OutputStream
Cykl życia - Wyładowanie
Strona wysłana do przeglądarki
Usunięcie obiektu Request
Usunięcie obiektu Response
Usunięcie obiektu Page
4
Zmiana kultury
override void InitializeCulture()
{
string symbol= pl-PL ;
UICulture=symbol;
Culture= pl-PL ;
Thread.CurrentThread.CurrentCulture=
CultureInfo.CreateSpecificCulture(symbol);
Thread.CurrentThread.CurrentUICulture=
CultureInfo(symbol);
}
Zdarzenia strony
<%@ Page Language="C#" AutoEventWireup="True" %>
nazwa
Strona5
Zdarzenie PreInit
Po odbiorze żądania i starcie
Przed inicjalizacją strony
Możliwość sprawdzenia właściwości
IsPostBack
Dynamiczne tworzenie kontrolek
Dynamiczna zmiana strony wzorcowej
MasterPage
Dynamiczna zmiana tematu strony
Dynamiczna zmiana tematu
<%@ Page Language="C#" %>
Strona6
Dynamiczna zmiana tematu przy
pomocy kontrolki
<%@ Page Language="C#" %>
StronaOdtworzenie właściwości kontrolek z
odesłanego formularza
<%@ Page Language="C#" %>
Strona7
Dynamiczna zmiana tematu przy
pomocy kontrolki
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.Form["lstTemat"] != null)
Theme=Request.Form["lstTemat"];
}
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.Form[lstTemat.UniqueID] != null)
Theme=Request.Form[lstTemat.UniqueID];
}
Dynamiczna zmiana strony
wzorcowej przy pomocy kontrolki
<%@ Page Language="C#" %>
Strona8
Zdarzenie Init
Po inicjalizacji strony
Najpierw zdarzenia Init wszystkich
kontrolek
Pózniej zdarzenie Init całej strony
Używane do inicjalizacji właściwości
kontrolek
Zdarzenie Init właściwości kontrolek
<%@ Page Language="C#" %>
Strona9
Zdarzenie InitComplete
Zdarzenia Init wszystkich kontrolek i
strony zrealizowane
Rozpoczęcie rejestracji zmiennych
zapisanych w ViewState
Zdarzenie PreLoad
Właściwości kontrolek odtworzone
Można odczytać aktualne właściwości
10
Zdarzenie PreLoad - ViewState
protected void Page_PreLoad(object sender, EventArgs e)
{
int licznik = 0;
if (ViewState["licznik"] != null)
licznik = (int)ViewState["licznik"];
licznik++;
lblLicznik.Text = licznik.ToString();
ViewState["licznik"] = licznik;
}
Zdarzenie PreLoad - właściwości
<%@ Page Language="C#" %>
Strona11
Zdarzenie Load
Po załadowaniu strony
Najpierw realizowane jest zdarzenie
Load strony
Pózniej realizowane są zdarzenia Load
kontrolek
Używane do ustawienia właściwości
kontrolek i otwierania połączeń z bazami
danych
Zdarzenie Load
<%@ Page Language="C#" %>
Strona12
Zdarzenie LoadComplete
Po realizacji zdarzeń Load strony i
wszystkich kontolek
Wykorzystywane, gdy konieczna jest
pewność wykonania wszystkich zdarzeń
Load
Zdarzenie PreRender
Ostatnie zdarzenie przed renderingiem
Najpierw realizowane jest zdarzenie
PreRender strony
Pózniej realizowane są zdarzenia
PreRender wszystkich kontrolek
Ostatnie zmiany właściwości kontrolek
przed rendering iem
Można sprawdzić właściwość IsValid
13
Zdarzenie PreRender
<%@ Page Language="C#" AutoEventWireup="True" %>
StronaZdarzenie PreRenderComplete
Po realizacji zdarzeń PreRender strony i
wszystkich kontolek
Wykorzystywane, gdy konieczna jest
pewność wykonania wszystkich zdarzeń
PreRender
14
Zdarzenie SaveStateComplete
Właściwości i zmienne ViewState
zapisane
Zmiany właściwości kontrolek wpłyną na
rendering, ale nie będą utrwalone
Zdarzenie SaveStateComplete
<%@ Page Language="C#" AutoEventWireup="True" %>
Strona15
Zdarzenie Unload
Po renderingu
Najpierw zdarzenia Unload kontrolek
Pózniej zdarzenie Unload strony
Nie można wprowadzać zmian do treści
strony
Można zamknąć połączenia z bazą
danych
Zdarzenie Unload
<%@ Page Language="C#" AutoEventWireup="True" %>
Strona16
Monitorowanie serwisu
ASP.NET
Aktywacja śledzenia strony
Strona.aspx
<%@ Page Language="C#" Trace="True" %>
web.config
17
Trace Przykładowa aplikacja
<%@ Page Language="C#" %>
StronaTrace Szczegóły żądania
18
Trace Informacje o śledzeniu
Trace - Drzewo formantów
19
Trace - Zmienne stanu
Trace - Nagłówek HTTP
Klient
Serwer
20
Trace Zmienne serwerowe
Trace Dane formularza
21
Trace - konfiguracja
Wyłączenie
wyświetlania
Włączenie
na stronie
śledzenia
requestLimit="15" localOnly="true" />
Pamiętaj 15
Pamiętaj
żądań
ostatnie
żądania
Wyświetlaj
tylko lokalnie
Trace.axd
22
Trace Własne informacje
protected void btnTest_Click(object sender, EventArgs e)
{
Trace.Write("Testowa informacja");
Trace.Write("Informacje", "Zdarzenie kliknięcia");
Trace.Warn("Dane", "Brak danych");
}
Debug Wyświetlanie informacji
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Diagnostics" %>
Strona
23
Debug Zatrzymanie aplikacji
protected void btnTest_Click(object sender, EventArgs e)
{
Debug.Assert(txtDana.Text != "0", "Pole równe 0", "Dodatkowa informacja");
}
24
Wyszukiwarka
Podobne podstrony:
Wyklad TI 1
Wyklad TI 9
Wyklad TI
Wyklad TI 6
Wyklad TI
PREZENTACJA wyklad TI 2
Wyklad TI 8
PREZENTACJA wyklad TI 4
Wyklad TI 4
Wyklad TI 3
PREZENTACJA wyklad TI 1
Wyklad TI 7
Wyklad TI
Wyklad TI 2
Wyklad TI 5
Wykład TI 05 12 11 2
TI Wykład 08
TI Wykład 03
wyklad Patryka wskaźniki TI 18 12 11
więcej podobnych podstron