1. Anasayfa
  2. Asp.net

Asp.Net Dersleri – Asp.net Cookie (Çerez) Kullanımı

Asp.Net Dersleri – Asp.net Cookie (Çerez) Kullanımı
0

Asp.net ile cookie kullanımını açıklamadan önce cookie nedir ondan bahsedelim , Cookie sayfanızı ziyaret eden kullanıcılara ait bilgileri ziyaretçilerin bilgisayarların da kaydetmek için kullanılan teknolojidir, peki neden ihtiyacımız var Cookilere, “Genel kullanım amacı, siteye gelen ziyaretçileri, bir sonraki ziyaretlerinde hatırlamaktır.” Pratikte çerezler, web server tarafından tarayıcıya gönderilen ve client’ta kaydedilen ufak metin dosyalarıdır. Çerezler, kullanıcı kimlik doğrulama ve tanımlama, kullanıcı tercihleri, alışveriş sepeti, vb. bilgileri client tarafında tutmak için kullanılır.
Hemen örnekler ile açıklayalım sayfamızın Page_Load olayına


            HttpCookie okunancerez = Request.Cookies["cerezler"];
            if (Request.Cookies["cerezler"] == null)
            {
                Label1.Text = "Cookie oluşturuldu sayfayı yenileyin";
                HttpCookie cerez = new HttpCookie("cerezler");
                cerez["bilgi"] = "bu bir cookie bilgisi";
                cerez.Expires = DateTime.Now.AddSeconds(10);
                Response.Cookies.Add(cerez);
            }
            else
            {
                Label1.Text = okunancerez["bilgi"].ToString();
            }

kodlarını yazıyoruz, sayfamızda ilk olarak cerez olup olmadığını kontrol ediyoruz eğer yok ise “Cookie oluşturuldu sayfayı yenileyin” mesajı veriliyor, eğer varsa “bu bir cookie bilgisi” yazıyor.

Şimdi Cookielerin nasıl kullanıldığını anlamak için basit bir anket uygulaması yapalım ilk olarak aşağıdaki tasarımı sayfamızda oluşturalım.

Tasarım koldarımız

 <asp:Label ID="Label1" runat="server" Text="Hangi Takımı Tutuyorsunuz"></asp:Label>
        <br />
        <asp:RadioButtonList ID="RadioButtonList1" runat="server">
            <asp:ListItem>Galatasaray</asp:ListItem>
            <asp:ListItem>Fenerbahçe</asp:ListItem>
            <asp:ListItem>Beşiktaş</asp:ListItem>
            <asp:ListItem>Trabzonspor</asp:ListItem>
        </asp:RadioButtonList>
        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Oy Ver" />
        <br />
        <asp:BulletedList ID="BulletedList1" runat="server">
            <asp:ListItem>0</asp:ListItem>
            <asp:ListItem>0</asp:ListItem>
            <asp:ListItem>0</asp:ListItem>
            <asp:ListItem>0</asp:ListItem>
        </asp:BulletedList>

Kullanıcı herhangi bir takıma oy verdiği zaman aynı bilgisayardan oy verilmesini engellemek için 7 günlük bir cookie oluşturuyoruz ve kullanıcı bu cookie dosyasını silene kadar 7 gün içerisinde tekrar oy veremeyecek kodlarımızı button1 click olayına aşağıdaki kodları yazıyoruz.

if (Request.Cookies["anket"] == null)
            {
                HttpCookie cerez = new HttpCookie("anket");
                cerez["bilgi"] = "oyverdi";
                cerez.Expires = DateTime.Now.AddDays(7);
                Response.Cookies.Add(cerez);
                if (RadioButtonList1.Items[0].Selected)
                {
                    BulletedList1.Items[0].Text = (Int16.Parse(BulletedList1.Items[0].Text) + 1).ToString();
                }
                if (RadioButtonList1.Items[1].Selected)
                {
                    BulletedList1.Items[1].Text = (Int16.Parse(BulletedList1.Items[1].Text) + 1).ToString();
                }
                if (RadioButtonList1.Items[2].Selected)
                {
                    BulletedList1.Items[2].Text = (Int16.Parse(BulletedList1.Items[2].Text) + 1).ToString();
                }
                if (RadioButtonList1.Items[3].Selected)
                {
                    BulletedList1.Items[3].Text = (Int16.Parse(BulletedList1.Items[3].Text) + 1).ToString();
                }
            }
            else
            {
                Response.Write("Daha önce Oy Kullandınız");
            }

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    ba_ar_l_
    Başarılı
  • 0
    gayet_yi
    Gayet İyi
  • 0
    te_ekk_rler
    Teşekkürler
  • 0
    anlamad_m
    Anlamadım
  • 0
    yetersiz
    Yetersiz
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Yorum
Inline Feedbacks
View all comments