Global.asax per Numeri Utenti on-line

giovedì 07 ottobre 2010 - 14.23
Tag Elenco Tags  VB.NET  |  .NET 2.0

gsistemi Profilo | Junior Member

Ciao a tutti,

sto tentando di usare il file global.asax per vedere quanti utenti sono on-line su un sito, questa è il mio file global.asax:

<script language="VB" runat="server">

Sub application_start( s As Object, e As EventArgs)
application("utenti") = 0
End Sub

Sub session_start( s As Object, e As EventArgs)
session.timeout = 5
application("utenti") = application("utenti") + 1
End Sub

Sub session_end( s as object, e as eventargs)
application("utenti") = application("utenti") - 1
End Sub
</script>

Quando qualcuno entra viene sommato l'utente quando esce non viene tolto, infatti mi ritrovo 12304 utenti on line il che non sarebbe male!!!

Sbaglio qualcosa?!?

Ciao!

luigidibiasi Profilo | Guru

Se non sbaglio l'utente viene tolto quando la sessione scade (devi controllare la proprieta session timeout da qualche parte in IIS)...

Luigi Di Biasi
http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

gsistemi Profilo | Junior Member

Ciao Luigi,

non ho in gestione il server quindi non posso modificare il timeout della sessione, ho provato a farlo da codice (session.timeout = 5) ma sembra non funzionare.

Ho pensato anch'io che poteva essere il timeout ma a questo punto non so come modificarlo.

Se può esserti utile il provider del sito è Aruba.

CIAO!

luigidibiasi Profilo | Guru

non saprei mi spiace... su aruba sono molto restii a modificare qualsiasi parametro
qualche componente esterno tipo shinystat non và bene?
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

gsistemi Profilo | Junior Member

sono riuscito a cambiare il parametro del timeout di sessione impostandolo a 1 minuto ma non è cambiato niente...??!??!??!?!

luigidibiasi Profilo | Guru

Ora dovresti assicurarti anche che : (da Msdn)
' Nota: l\'evento Session_End viene generato solo quando la modalità sessionstate
' è impostata su InProc nel file Web.config. Se la modalità è impostata su StateServer
' o SQLServer, l\'evento non viene generato

credo che l'utilizzo delle Session non sia adatto per lo scopo...
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

gsistemi Profilo | Junior Member

L'ho letto anch'io ieri sera!!!

Ecco infatti la parte del file web.config:

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

Indovina?!? E' uguale a prima!!!
Non riesco a capire se non ci passa proprio oppure c'è qualche altro problema... proverò a fargli scrivere qualche file da qualche parte in modo da vedere se l'evento viene richiamato.

Nel frattempo avete altre soluzioni che non siano applicazioni esterne?!?

CIAO!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5