Utenti online con global.asa e XML

3 pagine in totale: <<Indietro 1 2 [3]

Le due funzioni

Ed eccole nel dettaglio:

Sub AggiornaXML (byVal NomeTag,  byVal NomeAttributo, byVal ValoreAttributo)
  On Error Resume Next

  Dim objXMLdoc
  Dim root
  Dim currNode

  Set objXMLdoc = server.createobject("Microsoft.XMLDOM")
  objXMLdoc.async = false
  objXMLdoc.load Application("dirProtetta") & ("Utenti.xml")

  Set root = objXMLdoc.documentElement
  Set currNode = root.getElementsByTagName(NomeTag)
  currNode.item(0).setAttribute NomeAttributo,ValoreAttributo
  objXMLdoc.Save Application("dirProtetta") & ("Utenti.xml")

  Set currNode=nothing
  Set root=nothing
  Set objXMLdoc=nothing
End Sub

Questa procedura permette di modificare il valore di un attributo: così, ad esempio, ad un utente che si registra viene modificato il valore dell'attributo User con il suo UserName.

Ed ecco come apparirà:

<Session_893547789 User="pippo" Data="5/11/2002" Ora="16:59"/>

La funzione UtentiOnLine() , che trovate allegata nell'esempio, conta quanti elementi Session sono contenuti nel file.xml e li separa in utenti registrati e non, testando il valore dell'attributo User, producendo un output di questo tipo:

In questo momento sono collegati 2 Utenti di cui
1 Utenti registrati
1 Utenti non registrati

Utenti Registrati on-line:
Data     Ora     Utente
5/11/2002     16:59     pippo
5/11/2002     16:57     pluto

Conclusioni

Ho constatato che su alcuni server l'eveno Session_OnEnd non viene gestito bene, quindi potrebbe accadere che un utente non viene cancellato: in questo caso create una pagina con dentro la funzione scritta in Application_OnStart da richiamare quando si vuole ripulire interamente il file .xml.

Infine, un inconveniente della struttura a frame è che la barra degli indirizzi non viene aggiornata.
Un piccolo difetto, ma se dovete tenere traccia in maniera fedele degli spostamenti dei vostri utenti, ad esempio in aree riservate o all'interno di intranet aziendali, diventa di portata relativa.

Approfondimenti

3 pagine in totale: <<Indietro 1 2 [3]

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC