Asp.net ile cookie yazma, okuma ve silme

25 Temmuz 2011
Bu yazıyı beğendiysen paylaşmayı unutma :)
Pin It

Cookie‘ler web uygulamalarından en çok kullanılan tekniklerden biridir. Web sayfanızın ziyaretçileri hakkında çeşitli bilgilerin saklandığı bu küçük metin dosyalarının Asp.net ile nasıl kullanıldığına bir bakalım.

Ancak başlamadan önce cookielerin sınırlarını bilmekte fayda var. Pek çok tarayıcıda cookie dosya boyutu 4096 byte olarak sınırlandırılmıştır. Dolayısı ile cookie kayıtlarınız için bu her ne kadar fazlası ile yeterli bir boyut olsa da yine de bilmekte fayda var. Web siteniz için birden fazla cookie kaydı yapmanız da mümkün. Yine bunun için tarayıcıların sınırları bulunuyor. Bu sayı, tarayıcılara göre değişkenlik gösteriyor. Buradaki “Browser Cookie Limits” yazısı size fikir verebilir.

Cookieler, System.Web namespace’i altındaki HttpCookie sınıfını kullanırlar ve .NET 1.1’den 4.0’a kadar tüm .NET Framework sürümleri tarafından desteklenir. Ayrıca HttpCookie(String) ve HttpCookie(String, String) olmak üzere 2 Constructors’a sahiptir.

Bu kadar ön bilgiden sonra mutfağa geçelim..

Cookie Yazma

// myCookie isimli nesnemizi oluşturalım.
HttpCookie myCookie = new HttpCookie("UyeBilgileri");

// myCookie nesnemize değer ataması yapalım.
myCookie.Values.Add("SevdigiRenk", "Mavi");

// Cookie mizin geçerlilik süresini oluşturalım.
// Süre bilgilerine çok daha iyi müdahale etmemizi sağlaması açısından
// TimeSpan kullanışlı bir yöntem olacaktır.
// Kullandığımız TimeSpan Constructor'ının yapısı ise şu şekilde.
// TimeSpan(Gün, Saat, Dakika, Saniye) tabi bu değerlerin int türünde olması gerektiğini unutmayalım.
TimeSpan tsSure = new TimeSpan(1, 0, 0, 0);
DateTime dtSimdi = DateTime.Now;

//  İşlemlerimiz bittiğine göre, Cookie mizin geçerlilik süresini artık ayarlayabiliriz.
myCookie.Expires = dtSimdi + tsSure;

// Coookie mizi yazdıralım.
Response.Cookies.Add(myCookie);

Cookie Okuma

if (Request.Cookies["UyeBilgileri"] != null) // Cookie var mı?
{
string uyeBilgileri;
uyeBilgileri = Request.Cookies["UyeBilgileri"]["SevdigiRenk"].ToString();
}
else
{
// Coookie bulunamadığı durumda yapmak istediğiniz işlemler.
}

// uyeBilgileri değişkenini ekranımıza yazdırdığımız de "Mavi" yazacaktır.

Cookie Silme

if (Request.Cookies["UserSettings"] != null) // Cookie var mı?
{
// myCookie isimli nesnemizi oluşturalım.
HttpCookie myCookie = new HttpCookie("UyeBilgileri");
// Geçerlilik süresine -1 gün ekleyip, geçmişe alalım.
myCookie.Expires = DateTime.Now.AddDays(-1d);
// Ve Cookie mizi yeniden gönderelim.
Response.Cookies.Add(myCookie);
}

Kaynaklar

ASP.NET Cookies Overview
HttpCookie Class
How to: Write a Cookie
How to: Read a Cookie
How to: Delete a Cookie

Benzer Yazılar


DeliPenguen'i Google+'da bulun



Henüz yorum yok.