Conteggiare gli utenti connessi in Asp.NET

Siti dinamici con ASP.NET
Impara a creare siti ed applicazioni Web con Microsoft .NET

Scritto da Luca Ruggiero nella sezione Asp.NET

In Asp.NET il calcolo degli utenti connessi contemporaneamente sulle proprie pagine, avviene in maniera identica all'Asp tradizionale. Maggiore documentazione qui. Anche Asp.NET ha il Global.asp che conosciamo in Asp, ma per non creare confusione e fastidio con applicazioni Asp che girano sullo stesso server, e per mantenere gli standard, è stato introdotto il file Global.asax che ha, orientativamente, le stesse caratteristiche del .asa.

Credo sia quindi facile intuire quali possano essere i codici che utilizzeremo nel Global.asax e nelle nostre pagine .aspx; iniziamo dal primo:

<script language="C#" runat="server">
    public void Application_OnStart()
    {
        Application["users"] = 0;	
    }
    public void Session_OnStart()
    {
        Application["users"] = (int)Application["users"] + 1;
    }
    public void Session_OnEnd()
    {
        Application["users"] = (int)Application["users"] - 1;
    }
</script>
Rispetto al codice Asp che siamo abituati ad utilizzare, è possibile notare che le differenze sono fondamentalmente sintattiche, ma non funzionali; in questo caso abbiamo usato il C#, e la cosa bella di Asp.NET, lo ricordo, è che è possibile utilizzare la variabile di applicazione che abbiamo istanziato in questa sede, anche con linguaggi differenti adatti alla piattaforma .NET: VB.NET, JScript.NET, Cobol.NET, ecc...

Torniamo a noi. Di seguito il coice della pagina .aspx di prova:
<%@ Page Language="C#"%>
<script language="C#" runat="server">
public void ActiveUsers(Object src, EventArgs E)
{
    UtentiConnessi.Text = "Ci sono <b>" + Application["users"].ToString() + "</b> utenti online";
}
</script>

<asp:label ID="UtentiConnessi" runat="server" OnInit="ActiveUsers" />
Ci troviamo di fronte ad una nuova tecnologia, completamente differente da quelle che conosciamo e normalmente utilizziamo sul Web, oltre che a nuovi linguaggi. Approfitto di questa sede per comunicare ai lettori che la scelta del linguaggio che utilizzeremo su questo sito per Asp.NET sarà proprio il C#, ma tenteremo, insieme, magari sul Forum, di non trascurare anche il VB.NET ed il JScript.NET.

I più cliccati della sezione Asp.NET

:: Guida base ad Asp.NET (57.290)

:: I Validation Controls di Asp.NET (29.532)

:: Utilizzo delle QueryString con Asp.NET e C Sharp (23.719)

:: Visualizzare i record di un database Access con Asp.NET (21.262)

:: Un Guestbook in ASP.NET, Access e ADO (18.819)

:: Inviare email con Asp.NET: il Namespace System.Web.Mail (18.166)

:: Gestione delle News in ASP.NET (13.467)

:: Una Newsletter in ASP.NET (12.100)

:: Inserire dati in un database Access con Asp.NET (11.855)

:: Upload di file in Asp.NET e Javascript (11.531)

IN EVIDENZA
DOWNLOAD