Şöyle usta programcı arkadaşlar Delphi.Net'de nasıl Web sayacı ve sitedeki aktif ziyaretçi sayısını gösterebileceğimizi anlatsalar , harika olurdu
diğer dillerde anlatmışlar ama işlem çok karışık geldi bana , tahminim global.asax dosyası kullanılarak yapılıyor , tabii ki bunun unit dosyası global.pas ve bu dosyanın içinde session_start , session_end, application_start , application_end procedure'leri var , buraya kadar anladım ama buradan ötesi ne tip kodlar yazmamız gerektiği hakkında kaynak yok.
procedure TGlobal.Application_Start(sender: System.Object; e: EventArgs);
begin
Application['ToplamKullaniciSayisi'] := '0';
end;
procedure TGlobal.Session_Start(sender: System.Object; e: EventArgs);
begin
Application.Lock;
try
if Application['KullaniciSayisi'] = nil then
Application['KullaniciSayisi'] := '1'
else
Application['KullaniciSayisi'] := Convert.ToString(Convert.ToInt32(Application['KullaniciSayisi']) + 1);
if Application['ToplamKullaniciSayisi'] <> nil then
Application['ToplamKullaniciSayisi'] := Convert.ToString(Convert.ToInt32(Application['ToplamKullaniciSayisi']) + 1);
finally
Application.UnLock;
end;
end;
procedure TGlobal.Session_End(sender: System.Object; e: EventArgs);
begin
Application.Lock;
try
if Application['KullaniciSayisi'] <> nil then
Application['KullaniciSayisi'] := Convert.ToString(Convert.ToInt32(Application['KullaniciSayisi']) - 1)
else
Application['KullaniciSayisi'] := '0';
finally
Application.UnLock;
end;
end;
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
if Application['KullaniciSayisi'] <> nil then
Label1.Text := 'Aktif ziyaretçi sayısı : '+Application['KullaniciSayisi'].ToString;
if Application['ToplamKullaniciSayisi'] <> nil then
Label2.Text := 'Toplam ziyaretçi sayısı : '+Application['ToplamKullaniciSayisi'].ToString;
end;
Arkadaşım bu kodları sitemde denedim fakat sanki bir eksiklik var gibi geldi bana.Ya ziyaretçi sayısını 51 olarak gösteriyor ya da 1 olarak gösteriyor , başka birisinin sitede benden önce girdiğini bildiğim halde benim browser'imda 2 rakamı gelmiyor , yine 1 rakamı geliyor.