Application State ile online ziyaretçi sayısını hesaplamak

Yağız Gönüler tarafından yayınlanmıştır 2. Temmuz 2009 11:51

Web uygulamarında tüm kullanıcıların ortak kullandıkları verileri tutmak için Application nesnesi kullanılır. Unutulmamalı ki Application State'ler web farm veya web gardenlarda paylaşılamaz. Application State hakkında verilebilecek en basit ve en klasik örnek ziyaretçi sayısını hesaplamaktır.

Uygulama başladığında Application_Start event'i oluşur ve bu event Global.asax'ta handle edilir. Burada Counter adlı elemanımıza 0 değerini atıyoruz. Websayfamıza giren her kullanıcı için bir session başlatarak Session_Start eventinde bu elemanımıza 1 ekliyoruz. Sessionlar sonlandığında ise Session_End eventinde elemanımızı 1 eksiltiyoruz. Tüm bunları Global.asax dosyamızda yaptıktan sonra Default.aspx sayfamızda ise Labelımıza elemanımızı yazdırıyoruz.

Global.asax

<%@ Application Language="C#" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)

{

Application[
"Counter"] = 0;

}

 

void Session_Start(object sender, EventArgs e)

{

Session.Timeout = 1;

Application.Lock();

Application[
"Counter"] = (int)Application["Counter"] + 1;

Application.UnLock();

}

void Session_End(object sender, EventArgs e)

{

Application.Lock();

Application[
"Counter"] = (int)Application["Counter"] - 1;

Application.UnLock();

}

 

</script>

Default.aspx

protected void Page_Load(object sender, EventArgs e)

{

Durum.Text = "Şu an websayfamzda " + Application["Counter"] + " kişi online durumda..";

}

Uygulamamızda session nesnesini sonlandırmak için dilediğimiz evente aşağıdaki kodu eklememiz yeterli. Mesela bir LinkButton..

Session.Abandon();

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , ,

Programming Clues

Yorumlar

Yorum ekle


(Gravatar simgesini gösterecek)  

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.
Sitedeki kod ve tasarım değişiklikleri ise Yağız Gönüler tarafından geliştirilmiştir.
2008 © www.yagizgonuler.com

Paylaş

Share/Save/Bookmark

Paslaş

Anket

Mesleğinizden arta kalan zamanınızı nelere harcıyorsunuz?







Sonuçlar

Son Yorumlar

Comment RSS

Calendar

<<  Mart 2010  >>
PaSaÇaPeCuCuPa
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

Yazıları geniş takvimde göster

Ne Dinliyorum?

Yonca Lodi - Emanet (6 saat önce)
Yonca Lodi - Emanet (6 saat önce)
Yonca Lodi - Emanet (6 saat önce)
Yonca Lodi - Emanet (6 saat önce)
Yonca Lodi - Emanet (6 saat önce)
Yonca Lodi - Emanet (6 saat önce)
Shpongle - Star Shpongled Banner (13 saat önce)
Shpongle - Dorset Perceprion (14 saat önce)
Kate Havnevik - Halo (14 saat önce)
Kate Havnevik - New Day (14 saat önce)

Ne Okuyorum?

İstanbul'da Hava

ISTANBUL

Ziyaretçi Sayısı