1 / 55

ASP.NET NESNELERİ

ASP.NET NESNELERİ. RESPONSE NESNESİ. Sunucunun istemciye veri aktarmasına yarayan nesnedir. Response.Write Metodu: Sayfaya, sunucu tarafından bir şeyler yazdırmak istiyorsak bu metot kullanılır. Response.Write (“mesaj”). protected void Page_Load(object sender, EventArgs e) {

taryn
Télécharger la présentation

ASP.NET NESNELERİ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET NESNELERİ

  2. RESPONSE NESNESİ Sunucunun istemciye veri aktarmasına yarayan nesnedir. Response.Write Metodu: Sayfaya, sunucu tarafından bir şeyler yazdırmak istiyorsak bu metot kullanılır. Response.Write (“mesaj”)

  3. protected void Page_Load(object sender, EventArgs e) { int mesaj = 0; Response.Write("mesaj "); Response.Write(mesaj); }

  4. protected void Page_Load(object sender, EventArgs e) { for (int k = 1; k <= 7; k++) { Response.Write("<font size=" + k + ">Merhaba....</font><br>"); Response.Write("<hr color='aliceblue' width=100%>"); } }

  5. Response.Redirect Metodu Sayfanızdan, herhangi bir adresteki sayfaya yönlendirme yapmanızı sağlayan metottur. protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("Default3.aspx"); }

  6. Response.Buffer Metodu Browser’a gönderilen çıktıları kontrol anlamında kullanılır. Browser’a çıktılar iki şekilde, gönderilir. Birincisinde, sayfanın bütün script ve kodları çalıştırılana kadar, çıktılar, tampon (BUFFER) bir hafızada saklanır ve hepsi tamamlandıktan sonra, browser’a gönderilir. ASP.NET ‘in tanımlı çalışma biçimi budur. Response.Buffer=True Diğer bir çıktı biçimi ise, tamponlama yapılmadan, yani sayfanın direkt olarak browser a gönderilmesidir. Response.Buffer = False

  7. Response nesnesinin tampon hafızayı yöneten 3 adet metodu daha vardır.Flush : Tampon hafızada o zamana kadar birikmiş herşeyi, hemen browser’a gönderir.Clear : Tampon hafızada birikmiş olan her şeyi siler ve tampon hafıza boş kalır. Dolayısıyla bu bildirim önceki hiçbir şey (eğer daha önceden flush metodu ile gönderilmemişse) istemciye gönderilmez.(browserda gözükmez).End : Response nesnesinin, buffer’a veri gönderim süreci sonlandırılır. O zamana kadar tamponda birikmiş olanlar, istemciye gönderilir.

  8. protected void Page_Load(object sender, EventArgs e) { Response.Write("şu an gördüğüüz yazı; flush metodu ile browser'a hemen gönderilecek. <br>"); Response.Flush(); Response.Write("bu yazı hiç bir zaman browser'da gözükmeyecek, çünkü devam edene response.clear satırı ile tampon hafızadansilinecek <br>"); Response.Clear(); Response.Write("bu yazı tampon hafıza temizlendikten sonra, tampon hafızada tututmuş oradan'da browser'a gönderilmiştir. <br>"); Response.End(); Response.Write("bu yazıda hiçbir zaman gözükmüyecek, çünkü response nesnesi, response.end ile Browser'a her türlü gönderimi durdurmuştur.<br>"); }

  9. REQUEST NESNESİ Response nesnesinin tam tersidir. Kullanıcıdan gelen düzenlenmiş verileri sunucuya iletir.

  10. Request.aspx protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("quary.aspx?isim=Mehmet&meslek=Usta"); } Quary.aspx protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.QueryString); Response.Write("<br>"); Response.Write(Request.QueryString["meslek"]+"<BR>"); Response.Write(Request.QueryString[0].ToString()); }

  11. Eğer bir formdan gönderilen veri elde etmek için Request.Form[isim] şeklinde kullanırız. Request.ServerVariables : Sunucu hakkında bilgiler döndürür;

  12. protected void Page_Load(object sender, EventArgs e) { Response.Write("<b>HTTP kullanıcı Ajanı:</b>"); Response.Write(Request.ServerVariables["http_user_agent"] + "<p/>"); Response.Write("<b>IP adresi:</b>"); Response.Write(Request.ServerVariables["remote_addr"] + "<p/>"); Response.Write("<b>Host:</b>"); Response.Write(Request.ServerVariables["remote_host"] + "<p/>"); Response.Write("<b>istem metodu :</b>"); Response.Write(Request.ServerVariables["request_method"] + "<p/>"); Response.Write("<b>Sunucu İsmi:</b>"); Response.Write(Request.ServerVariables["server_name"] + "<p/>"); Response.Write("<b>Sunucu Port No:</b>"); Response.Write(Request.ServerVariables["server_port"] + "<p/>"); Response.Write("<b>Yol Bilgisi:</b>"); Response.Write(Request.ServerVariables["PATH_INFO"] + "<p/>"); Response.Write("<b>URL:</b>"); Response.Write(Request.ServerVariables["URL"] + "<p/>"); Response.Write("<b>Dönüştürülmüş yol (Fiziksel Yol):</b>"); Response.Write(Request.ServerVariables["PATH_TRANSLATED"] + "<p/>"); }

  13. http Cookie Nesnesi Cookie (kurabiye veya çerez de denir) : kullanıcının bilgisayarında saklanan ve sunucunun kullanıcı hakkında bir takım bilgileri elde edebildiği değerleri saklayan küçük dosyalardır. Bu değerler, sayfadan sayfaya geçerken veya ilerki bir zamanda kullanılmak için saklanan, kullanıcının; password, kullanıcı ismi, tercihleri bir takım özel bilgileri olabilir. Bu bilgiler browser açık olduğu sürece veya bizim belirlediğimiz zaman süresince, bu dosyalarda saklanır.

  14. Cooki’lerin Oluşturulması Response.Cookies[“renk”].Value=“kırmızı” Renk:ismi Kırmızı : değeri Cookie’mizin değerinin elde edilmesi Request.Cookies[“renk”].Value

  15. Cookie.aspx protected void Page_Load(object sender, EventArgs e) { Response.Cookies["renk"].Value = "kırmızı"; } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("cookie_elde_et.aspx"); } cookie_elde_et.aspx protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.Cookies["renk"].Value.ToString()); }

  16. Cookie’lerin Geçerlilik Süresi Aksi belirtilmedikçe, “Cookie” ler, oturum süresince geçerlidir. Bunun anlamı, browser’ınız açık olduğu sürece “cookie” saklanır. Browser’ınız kapadığınızda silinir ve hiçbir geçerliliği kalmaz. Cookie’lerin geçerlilik süresinin “Expires” ifadesi ile yönetmemiz münkündür. Response.Cookies [“renk “].Express=DataTime.Parse(“10/10/2010”);

  17. Cookie’nin tanımlamanın ikinci yöntemi Response.Cookies[cookie_ismi][anahtar isim]=değer Response.Cookies [“ziyaretçi”][“parola”]=“zafer”

  18. Cookie1.aspx protected void Page_Load(object sender, EventArgs e) { Response.Cookies["ziyaretçi"]["isim"] = "zafer"; Response.Cookies["ziyaretçi"]["parola"] = "asx78"; Response.Cookies["ziyaretçi"]["son_ziyaret"] = DateTime.Now.ToString(); Response.Cookies["ziyaretçi"]["Teknik_bilgiler"] = Request.ServerVariables["REMOTE_ADDR"]; } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("cookie2.aspx"); } Cookie2.aspx protected void Page_Load(object sender, EventArgs e) { foreach(string degerler in Request.Cookies["ziyaretçi"].Values) { Response.Write("<b>" + degerler + ":</b>" + Request.Cookies["ziyaretçi"][degerler] + "<br>"); } }

  19. Session Değişkenleri Cookilere çok benzemekle birlikte, daha küçük ölçekli verilerin oturum boyunca saklanmasını sağlayan değişken tanımlanmadır. “Session” sayesinde, kullanıcıya ait verileri sayfalar arası kullanabiliriz. “Session” Türkçe anlam olarak “Oturum” demektir. Oturum ise,Browser’ın açılıp kapanmasına kadar geçen süredir.

  20. İstemci sunucuya bağlandığı zaman,sunucu, sadece o istemciye özel bir “session ID” numarası atar ve bunu, bir “cookie” de saklar. Böylece oturum boyunca, sadece o kullanıcıya ait değeri saklar ve elde eder. Session’ın oluşturulması Session.Add(değişken_ismi, değer) Veya Session[“değişken_ismi”]=değer

  21. session.aspx protected void Page_Load(object sender, EventArgs e) { Session["renk"] = "mavi"; } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("session_deger.aspx"); } session_deger.aspx protected void Page_Load(object sender, EventArgs e) { Response.Write("<b>Renk:</b>"+Session["renk"]); }

  22. Pencereler Aynı anda açıldı.

  23. Bir kullanıcı sunucuya bağlandığında, sunucu, sadece o kullanıcıya ait, tanımlayıcı bir ID atar ve bu ID istemcinin bilgisayarında bir cookie de oturum boyunca saklanır. Kullanıcı bir sayfadan diğerine herhangi bir zamanda geçtiğinde, sunucu, hangi kullanıcıyla, daha doğrusu hangi session ile muhatap olduğunu bu ID sayesinde öğrenir ve buna göre işlemlerini yapar. Bu ID’yi Response.Write(Session.SessionID) ile görebiliriz.

  24. Session Zaman Optimasyonu Bir oturum iki şekilde sonlanır; ilki, kullanıcı tarafından Browser kapatıldığında, ikincisi ise tanımlanmış bir süreç aşıldığında. Session.Timeout=dakika_değer Session.Abondan= Session nesnesini aniden sonlandırmak için kullanılır.

  25. Cookie’sizSession Kullanımı Cookie’lere gerek kalmadan, session “session” değişkenleri kullanmak mümkündür. Kaynak kodlarımızda herhangi bir değişiklik yapmaya gerek yoktur. Yapmamız gereken web.config dosyasında “cookie” kullanılmayacağını belirtmektedir.

  26. Aslında “cookie” kullanılarak yaptığından farklı bir mantık izlemez, burada da yine “session ID” üretir fakat bunu “cookie” yerine url adresine ekler. Başka bir sayfaya herhangi bir geçişte bu ID numarasını da aktarılır. Böylece “session” değişkenlerinin oturum boyunca kullanımında bir süreklilik sağlanır ve sunucuya air değerleri kullanılabilir.

  27. Session State modları ASP.NET “session “ değişkenleri (session state) 3 modda saklanır. InProc : “Session” değerleri işlem esnasında IIS çalıştığı ve belirtilen sürece hafızada saklanır. ISS’ın bütünleşik bir parçasıdır. Bu modda değerleri ulaşmak son derece hızlı ve etkindir. Ancak “IIS” da bir terslik meydana geldiğinde, örneğin yeniden başlatmak gerektiğinde, bütün “session” değerleri kaybolur. Bu durum özellikle profesyonel ve çok ziyaretçisi olan bir site için ciddi bir sorundur.

  28. Başka bir sorun ise; “session” değerleri diğer sunucular tarafından paylaşılamaz. StateServer: Bu modda “session” değişkenleri “State Server” da saklanır. Bu server IIS dan bağımsız kendi başına çalışan bir servistir. Uygulama ihtiyacı olan “session” değerleri burada saklanır ve tekrar elde edilebilir. SqlServer: Bu mod mantık olarak bir öncekine benzer. Ancak bu sefer değerler SQLSERVER da saklanır.

  29. Hangi modu kullanacağımızı, web.config dosyamızda “SessionState” i konfigüre ederken belirtmeliyiz. Varsayılan InProc’tur. HttpServerUtility Nesnesi HTML Encode: HTML çıktılarını özel olarak kodlayarak, browserda yorumlanmasını sağlar.

  30. HTML Decode: Yukarıdaki işlemin tam tersini yapar.

  31. UrlEncode: HTMLEncode metoduna çok benzer, ancak bu sefer URL ifadesi için özel anlam taşıyan karakterleri kodlar.

  32. UrlDecode: Yukarıdaki işlemin tam tersini yapar. Server.MapPath: Sunucunun fiziksel yolunu ifade eden çok kullanışlı bir metoddur. Değişik bildirimler kullanılarak, birçok şekilde, sunucunun fiziksel dizinlerini ifade edebilir. Server.MapPath(“ ”);

  33. Server.Transfer : Server nesnesinin, sayfaları yönlendirmek ve akışını kontrol etmek için kullanılır.

More Related