mehmetduran.com - Paylaşmak Güzeldir...
Asp.net'te Session ile Sayfaların Okunma Bilgisini Tutma
Bu yazımda hazırladığımız websitelerinde dinamik sayfaların bir kullanıcı tarafından okunup okunmadığını kontrol etmeyi göreceğiz. Yani Session ile kullanıcının bir sayfayı okuyup okumadığını belirleyeceğiz. Bu işlem ile sayfalarımızın okunma istatistiklerini daha gerçekçi daha doğru şekilde belirlemiş oluruz. Bu yazıyı yazmamım nedeni de kendi sitemde tuttuğum sayfaların okunma sayılarını kontrol etmeyişimdi. Ama artık Session ile kontrol ederek sayfaların kullanıcı tarafından okunup okunmadığını kontrol ederek, istatistikleri daha doğru şekilde tutuyorum.
Sözü uzatmadan kodlarımıza ve nasıl yaptığımıza bakalım.

    protected void Page_Load(object sender, EventArgs e)
    {
        string sayfa_id = Request.QueryString["sayfa"];
        if (Session[sayfa_id] == null)
        {
            Label1.Text = "Sayfayı ilk kez okuyorsunuz.";
            Session[sayfa_id] = "okundu";
        }
        else
        {
            Label1.Text = "Daha önce bu sayfayı okumuşsunuz.";
        }
    }

Görüldüğü kodlarımızda QueryString ile gelen sayfa değerini alıyoruz ve bu değer ile oluşturacağımız Session bilgisini kontrol ederek o sayfanın daha önce okunup okunmadığını kontrol ediyoruz. Eğer ilk okunuş ise Session değeri null olacaktır. Session değeri null ise bu ilk ziyarettir ve işlemlerimizi yaparak, Session değerini dolduruyoruz. Çünkü;  bir daha ki sayfa okumasında, sayfanın daha önce okunduğu yakalamak amacımız.

Ayrıca Session bilgilerin tutulma sürelerini (dakika cinsinden) web.config dosyamızda belirleyebiliyoruz.

<sessionState mode="InProc" timeout="30"></sessionState>

Ancak bazen serverlarda yaşanan problemler veya bağlantı sorunları yüzünden Session olayında sorunlar olabilmektedir.

Yaptığım örnek uygulamayı buradan indirebilirsiniz. Örnek uygulamanın ekran görüntüsü ise şöyle:

Asp.net'te Session ile Sayfaların Okunma Bilgisini Tutma

İyi Çalışmalar!
Mehmet Duran 08 Ekim Çarşamba 2008 4 23175 4,3
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Wamp Server (Apache, Php, MySql on Windows) Türkiye'de Hosting Artık daha.net! Jquery İnner Fade Uygulaması Asp.net'te Accordion Uygulamasını Veritabanı ile Kullanma Asp.net ile Dinamik Site Yapımı (Örnek Uygulama)
Yorumlar
Yorum Yaz
RSS Yorum Takibi
veysel karanlık 25 Aralık Perşembe 2008 19:23 #1
en çok okunan makaleler için bu bilgileri nasıl tutabiliriz? veritabanı nasıl kullanılabilir peki? bu konudada bi makale yazsan sevap işlemiş olursun :)
Mehmet Duran 25 Aralık Perşembe 2008 21:18 #2
En çok okunan yazılar için veritabanında yazıların okunma sayısını tutan bir alan tutarsın ve sayfa her okunduğunda bu alanın değerini artırırsın. En çok okunan makaleleri ise bu sütunun değerine göre sıralatıp çekebilirsin.
Kurtar KARAKUŞ 30 Nisan Cuma 2010 11:31 #3
Her şey güzel. Sorun şu diyelim ki sayfaya girince hit=hit+1 ile hitleri DB ye kaydettik. Bu biraz yanlış olmaz mı? 1 sn bile olsa o sayfaya girmiş olmak hiti artıracak. Onun yerine sayfaya girdikten 10 sn sonra hit işlemini yapan bi kod nasıl olur? Bilen varmı?
Mehmet Duran 30 Nisan Cuma 2010 22:53 #4
Bunun için script kodlama yapıp, sayfa yüklendikten itibaren belli bir süre sonra Ajax isteği ile sayfanın okunma süresini artırabilirsin.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Hata yapmayan bir insan genellikle hiçbirşey yapmıyordur.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009