5.00 / 1 oy

Asp.Net'te Cookie (Çerez) Okumak

Önceki örneklerde kullanıcıın tarayıcısına kaydettiğimiz çerezleri artık okumanın vakti geldi, önceki paylaşımlarımı görmeden bu sayfaya geldiyseniz ihtiyacımızın kaynağını tekrarlayayım. Asp.net ile geliştirilmiş bir e-ticaret sitemiz var ve kullanıcılar oturum açmadan da sepetlerine ürün ekleyebilsinler istiyoruz, sepetlerine ekledikleri ürünleri de bir SiteSepet çerezi oluşturarak burada saklıyoruz. Kullanıcının sepetindeki ürünleri okumak için öncelikle daha önce çerez atıp atmadığımızı kontrol etmek gerekiyor. Eğer çerez var ise içindeki değeri okuyabileceğimiz örnek bir kod şu şekilde kullanılabilir.

Request.Cookies["SiteSepet"].Values[0];
//1 adet elma, 2 adet muz

Peki düz yazı olarak okuduğumuz bu çerez bilgisinden nasıl sepet verisi yapacağız? Önceki örnekte de bahsettiğim gibi sepet içinde saklayacağımız veriler, ürünlerin adı ve adetleri olabilir ya da isteyen geliştiriciler ürünlerin görsel url'lerini, fiyatlarını ya da stok miktarlarını da çerezlere yazdırabilirler ancak bana sorarsanız ürüne ait güncel fiyatların sepette gösterilmesi daha doğru olduğu için sadece ürün id'sini ve sepete eklenen ürün miktarını çerezde saklamak daha doğru. Şimdi bu mantıkla nasıl bir sepet yapabileceğimize bir bakalım:

List<string> sepet = new List<string>(Request.Cookies["SiteSepet"].Values[0].Split(','));

for (int i=0; i< sepet.Count; i++)
{
    String urunAdi = sepet[i].Replace(" adet ","-").Split('-')[1];
    int adet = Convert.ToInt32(sepet[i].Replace(" adet ", "-").Split('-')[0]);
}

ürün adı yerine ürün ID'si saklanarak ve bu döngüde ürün ID'si ile ürün bilgileri veritabanından çekilerek güncel ürün fiyatları ile kullanıcı sepeti, sepet tutarı ve kargo tutarı hazırlanabilir. Çerez yapısı konusunda daha kısa (adet yazmak yerine & koymak gibi) çerez içerikleri kullanmanız tavsiyesini tekrarlayarak bu yazının herkese faydalı olmasını umuyorum.

kankito

22.05.2020 03:41

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Asp.Net'te Cookie (Çerez) Okumak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.