Asp.Net Page Class

by Eren 22. December 2008 14:42

Asp.NET ile web uygulamaları geliştiren arkadaşlar için hayati önem arzeden bir sınıf olan System.Web.UI.Page class'ı için nacizane birşeyler karalamak istiyorum.

Geliştirdiğimiz ASP.NET formlarımızda kullandığımız IsPostback, FindControl,IsValid..vb gibi fonksiyon ve property'ler de bildiğiniz gibi bu sınıfa ait. Page sınıfımızın diğer önemli propertyleride aşağıda listelenmiştir;

• Session

• Application

• Cache

• Request

• Response

• Server

• User

• Trace 

 

Application, Session ve Cache

Session nesnesi iki page request arasında (yani sayfanın yüklenmesi) herhangi bir tipteki datayı tutmak için kullanılır. Kullanıcı web sayfasını request ederek kendine bir oturum açılır ve bu session nesnesi sadece bu oturum süresince geçerlidir. Bu nesneleri kullıcıların kullanıcı adı, email,sayfa görünümü tercihleri ...vs. bilgilerini oturum süresince tutmak için kullanabiliriz. Session nesneleri System.Web.SessionState.HttpSessionState Class'ından oluşturulmuşlardır.

System.Web.SessionState.HttpApplicationState' ten oluşturualr Aplication nesneleri ise, web uygulaması ilk çağrıldığında oluşturulup çalıştığı sürece  geçerlidir. Mesela biz bir web uygulamasında aktif kullanıcıların listesini Application nesnesine atıp bunu tüm kullanıcıalrın görmesini sağlayabiliriz.

Son olarak cache nesneside Application nesnesi gibi global bilgileri tutabileceğimiz bir nesnedir fakat bellek alanı yetersiz kalma yada bilgisayaruın yeniden başlatılma durumlarına göre tuttuğu bilgileri bırakabilmektedir.

Request

Request nesnesi System.Web.HttpRequest class'ından oluşturulup kullanılmaktadır. Request nesnesiyle sayfamız yüklenirken bazı özellikler depolanır mesela istemci tarafından gönderilen Url parametrelerini örnek olarak verebiliriz. Bunun yanında cookie değerlerine ulaşmak ya da browser bilgilerini göstermek gibi güzel amaçlar içinde kullanımı yaygındır.

Reuest nesnesinin yaygın olarak kullanılan özelliklerine kısaca bir değineyim;

 AnonymusID  Anonim kullanıcılarının ID bilgilerini tutan bir özelliktir. Hiç kullanmadığım için şimdilik detay veremiyorum.
 ApplicationPath ve PhisycalApplicationPath  ApplicationPath uygulamanın çalıştığı server'daki virtual directory adresini, PhysicalApplicationPath ise fiziksel adresini verir.
 Browser  Çeşitli browser bilgilerini tutar.ActiveX desteği, Vbscript, coockieler, frame'ler...vs.
 ClientCertificate  HttpClientCertificate nesnesidir, eğer varsa istemcinin güvenlik sertifikasını tutar.
 Cookies  Cookie kolleksiyonunu tutar. Sayfamız için oluşturduğumuz cookie bilgilerine bu özellikle erişebiliriz.
 FilePath ve CurrentExecutionFilePath  İkisi arasındaki fark biraz karışık. FilePath sizinde anlayacağınız gibi ilk işlem gören sayfanın path'ini veriyor. CurrentFilePath ise, eğer Server.Transfer() metoduyla başka bir sayfaya geçilmiş ise onun path ini veriyor (Respose.Redirect() değil.). Şu durumda CurrentExecutionPath yeni sayfanın diğeri ise orijinal sayfanın path ini tutuyorki ikisini mukayese edebilelim. Biraz saçma gibi.
 Form  Servera gönderilen sayfanın form nesnesini ve bu form nesnesinin içindeki kontrolleri özellikleri ..vs barındırır.
 Headers ve ServerVariables  Sayfamızın header bilgilerine ve çeşitli faydalı değişkenlerine ulaşırız.Mesela istemcinin istekte bulunduğu browser'ın tipi, dil bilgileri, yetkilendirme bilgileri..vs.
 IsAutenticated ve IsSecureConnection  Kullanıcının sisteme girip girmediğini  yada bağlantının SSL bağlantısı olup olmadığı bilgisini içermektedir.
 IsLocal  Sayfanın lokal bilgisayardanmı yoksa uzaktaki bir sunucudanmı çağırıldığını ayırt etmemiz için kullanılır. Kullanışlı bir özellik.
 QueryString  Request nesnesinin en çok kullandığım özelliği. URL vasıtasıyla aktarılan parametrelere buradan erişiyoruz.
 Url ve UrlReferrer  Url o anki sayfanın geçerli url bilgisini, UrlReferrer ise hangi url den geldiği bilgisini tutar.
 UserAgent  Hangi browser modelinin kullandığı bilgisini tutar. Örneğin internet Explorer için MSIE bilgisini geri döndürür.
 UserHostAdress ve UserHostName Sayfayı request eden istemci IP si ve dns adresini tutar. Tabi bu eğer router tarafından NAT işlemine tabi tutuluyorsa istemcinin lokal IPsi yerine router ya da modemin dışarıya çıktığı Unique IP yi verecektir. Bunu mutlaka dikkate almak lazım.
 UserLanguages  Kullanıcı browser'ında ayarlı olan dil bilgisini içerir. Bu özellik sayesinde çoklu dil desteği iç eren uygulamalarımızda istemcinin dil ve lokasyon bilgisini tespit edebiliyoruz.


devam edicem...

Tags:

Asp.NET

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Hakkımda Kısaca

Eren Çetin

Bilgisayar Mühendisi

İstanbul / Turkiye

Eren Çetin - 2010
Eren Çetin, Bilgisayar Mühendisi , Yazılım Geliştirme Uzmanı