ASP.NET Cookies
20-11-2013
Cookie’lar bir sayfadaki bilginin başka sayfalarda kullanılmasını sağlayan yollardan biridir. Kullanıcı’nın bilgisayarının hard driver’ında kayıt edilirler. Yani server’da oluşturulmazlar. Küçük boyuttadırlar. Diğer sayfalar tarafından kolayca kullanılabildikleri için avantaj sağlarlar.
Dezavantajları şunlardır:
1. Basit string bilgisi tutarlar.
2. Rahatlıkla erişilip okunabilirler.
3. Bazı kullanıcılar bilgisayarlarında cookie oluşturulma özelliğini disable ederler. Bu durumda cookie bilgisi kullanan web sayfaları çalışamaz.
Kullanımı:
1. System.Net namespace import edilir.
2. Cookie’leri almak için Request property, yaratılan cookie’yi kaydetmek için Response property kullanılır.
3. Cookie nesnesi yaratmak için HttpCookie class’ı kullanılır.
Kodlar:
Dezavantajları şunlardır:
1. Basit string bilgisi tutarlar.
2. Rahatlıkla erişilip okunabilirler.
3. Bazı kullanıcılar bilgisayarlarında cookie oluşturulma özelliğini disable ederler. Bu durumda cookie bilgisi kullanan web sayfaları çalışamaz.
Kullanımı:
1. System.Net namespace import edilir.
2. Cookie’leri almak için Request property, yaratılan cookie’yi kaydetmek için Response property kullanılır.
3. Cookie nesnesi yaratmak için HttpCookie class’ı kullanılır.
Kodlar:
//Cookie olusturmak ve kaydetmek HttpCookie benimCookiem = new HttpCookie("Tercihlerim"); benimCookiem["DilTercihlerim"] = "Türkçe";//Dictionary collection gibi set ediliyor. benimCookiem["Ulkem"] = "Turkiye";//İkinci bilgiyi kaydediyoruz. Response.Cookies.Add(benimCookiem); //Olusturulan cookie'yi kullanmak HttpCookie benimCookiemiKullan = Request.Cookies["Tercihlerim"]; /*Eger kullanıcı, bilgisayarında cookie’leri kayıtlı tutmuyorsa her ihtimale karşı hata olusmasin diye null’a esit olup olmadigini kontrol etmeliyiz*/ if (benimCookiemiKullan != null) { string dilTercihi = benimCookiemiKullan["DilTercihlerim"]; string ulkem = benimCookiemiKullan["Ulkem"]; } //Cookie'nin omrunu uzatmak benimCookiemiKullan.Expires = DateTime.Now.AddYears(1);//Bir yil kullanici bilgisayarinda yasar. //Var olan bir cookie'yi silmek benimCookiem.Expires = DateTime.Now.AddYears(-1); Response.Cookies.Add(benimCookiem);