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:
İyi Çalışmalar!