| Aşama | Açıklama |
|---|---|
| Page request | Page life cycle başlamadan önce bu aşama çalışır. Sayfa bir kullanıcı tarafından istendiği zaman Asp.NET, bu sayfanın parse ve compile edilip edilmeyeceğine veya sayfayı çalıştırmadan varsa cachedeki versiyonunu gönderip göndermeyeceğine karar verir. |
| Start | Yaşam döngüsünün ilk adımını temsil eden bu süreçte page nesnesinin Request ve Response gibi property’leri set edilir. Ayrıca page nesnesi, gönderilen requestin bir Postback sonucu mu yoksa yeni bir request olarak gelip gelmediğini belirler ve ona göre IsPostBack property’sini set eder. IsPostBack, sayfanın Postback modunu bildirir. Bu aşamada ek olarak sayfanın UICulture propertysi de set edilir. |
| Page initialization | Sayfanın oluşturulma aşamasında sayfa üzerindeki kontroller, erişilebilir duruma gelir ve her kontrolün UniqueID propertysi set edilir. Eğer o anki request, bir Postback sonucu gerçekleşmişse bu aşamada Postback data henüz yüklenmemiş ve kontrollerin değeri Viewstate’e göre yenilenmemiştir. |
| Load | Load aşamasında eğer geçerli request bir postback ise kontrollerin değeri ve durumu Viewstate içeriğine göre şekillenir. |
| Validation | Varsa sayfa üzerindeki validator kontrollerin Validate() metodu çağrılır. Validate() metodu, page nesnesi ve içindeki kontrollerin her birinin IsValid property’sini set eder. Hatırlanacağı gibi IsValid property’si, kontrolün doğrulama işleminin başarılı olup olmadığını bildirir. |
| Postback event handling | Eğer request bir Postback sonucu gerçekleşmişse, Postback’i gerçekleştirmiş veya durumu değişmiş kontrollerin ilgili eventleri tetiklenir. |
| Rendering | Render işleminden önce page ve kontroller için Viewstate nesnesi kaydedilir. Render aşamasında page nesnesi, her kontrolün Render() metodunu çalıştırır. Render() metodu, text writer nesnesini kullanarak kontrolün outputunu page’in Response propertysine ait OutputStream‘e (HTTP ile gidecek olan binary içerik) yazar. |
| Unload | Unload evresi, sayfa tümüyle render edildikten ve istemciye gönderildikten sonra çağrılır. Bu durumda sayfa, artık hafızan kaldırılmaya (discard) hazırdır. Unload aşamasında, Request ve Response nesneleri temizlenmiş olur. |
19 Ağustos 2012 Pazar
Web Page Life Cycle
ASP.NET tabanlı site hazırlarken gerek sunucu ile istemci arasındaki
işleyişi izlemek gerekse web tabanlı özel kontrol geliştirirken
request-response sürecindeki yol haritasını, Asp.NET yaşam döngüsünü
bilmek sürece olan hakimiyetimizi artıracaktır. Asp.NET’in sayfa yaşam
döngüsünde her request işleminde page nesnesi ve içindeki kontroller
yeniden oluşturulur ve işlem sonucunda yok edilir. Bu oluşma-yok olma
sürecinde bazı evre ve olaylar gerçekleşir. Bu evre ve olaylar, sayfa ve
sayfa içerisindeki kontrollerin yaşam döngüsüyle ilintilidir. Burada
Asp.NET yaşam döngüsünü hatırlayacak kadar burada özetlememiz faydalı
olacaktır. Aşağıdaki tabloda sayfa ve kontrol bazlı yaşanan evreler
gösterilmiştir.

Kaydol:
Yorumlar (Atom)