Cookie Konusu
Cookie kullanıcıların tarayıcılarında saklayabileceğimiz temp türünde datalardır. Developer sürekli kullanacağı sabit bir veriyi server da tutup maliyet oluşturmak yerine kullanıcının bilgisayarında tutarak maliyeti azaltıp daha verimli bir hale getirir.
Cookie genel olarak kullanıcı giriş sayfalarında kullanılır. beni kaydet seçeneğini seçtiğiniz andan itibaren login olursanız bir daha girdiğinizde sitede otomatik login oluyorsunuz bunun verilerini developer cookilerde tutar ve siteye her girdiğinizde otomatik giriş yapmış olur.
Login dışında Eticaret sitelerinde sepet uygulamaları cookie'de tutulabilir bir çok kullanıcı login olmadan sepete veri gönderiyor bu verileri cookie ile tutup kullanıcıyı da tanıyabiliriz.
Burada mantığını kavramanız için basit bir örnek ile anlayacağım gerisi sizin hayal gücünüze ve gelişiminize kalmış :)
Cookie verileri developerların verdiği süre kadar tarayıcıda tutar süre aşıldıktan sonra cookie silinir ve bir daha erişilemez.
Cookie 4000b kadar veri tutabilir.
Bazı tarayıcılar çok fazla cookie kullandırtmaz o yüzden önemli verileri cookie'de tutulmaz.
Kullanıcılar istediği zaman cookeeleri silebilir.
Gif'i takip ederek sizde girdiğiniz sitelerdeki cookileri ve bitiş sürelerini görebilirsiniz. ayrıca bu alt kısımdaki örneğin cookiesidir.
HttpCookie cookie = new HttpCookie("cookies");
/// cookie nesnesi oluşturuyoruz
cookie["Cookie Eleman Adı"] = "String İfade";
// eleman adı ve değerin verildiği kısım
cookie.Expires = DateTime.Now.AddYears(1);
// cookie'nin tutulma süresi
Response.Cookies.Add(cookie);
// cookie'yi kaydettiğimiz kısım
İlk olarak bir cookies adında bir cookie nesnesi tanımladım daha sonrasında visitDate
adında bir eleman ekledim ve değer olarak o anki saat ve tarihi aldım daha sonra cookie'ye 1 yıl süre tanımladım ve responce.cookies.add ile Response.Cookies.Add(cookie); eklemiş oldum. ve if ile Request.Cookies["cookies"] böyle bir cookie oluşturulmuş mu diye baktım yok ise yukarı anlattığım işlemi yapacak var ise tekrar cookie nesnesi oluşturdum ve request ile olan cookie ile instance aldım. garanti olsun diye cookie boş değilse diye kontrol yaptım ve boş değilse viewbag'e cookie'deki değeri attım.
Cookie temizleme mantığı çok basittir request ettiğiniz cookie'ye Expires süresini bugünden 1 gün önceye çekerseniz otomatik cookie silinmiş olur