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();

1 kişi tarafından 5.0 olarak değerlendirildi

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

Etiketler: , ,

Programlama İpuçları

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

Paslaş

Anket

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







Sonuçlar

Calendar

<<  Eylül 2010  >>
PaSaÇaPeCuCuPa
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

Yazıları geniş takvimde göster

Ne Dinliyorum?

Aziz TSM Grubu - Klarnet (1 day önce)
Aziz TSM Grubu - Ud (1 day önce)
Aziz TSM Grubu - Klarnet (1 day önce)
Aziz TSM Grubu - Ud (1 day önce)
Aziz TSM Grubu - Kanun (1 day önce)
Aziz TSM Grubu - Klarnet (1 day önce)
Aziz TSM Grubu - Ud (1 day önce)
Aziz TSM Grubu - Ney (1 day önce)
Aziz TSM Grubu - Ud (1 day önce)
Aziz TSM Grubu - Kanun (1 day önce)

Ne(ler) Okuyorum?

İstanbul'da Hava

ISTANBUL

Ziyaretçi Sayısı