[ASP.NET 2.0] Tracciare percorso utente

mercoledì 25 gennaio 2006 - 14.40

D79 Profilo | Junior Member

Dovrei memorizzare i dati d'accesso degli utenti: ora login, ora logout ed eventualmente le pagine visitate.
Mi vengonoin mente molti modi per poter fare questo, mi domandavo se nella nuova versione 2.0 c'è un modo più semplice.

GvnnRules Profilo | Senior Member

Ma per log out intendi quando il tuo utente clicca il tuo bottone di uscita dall'applicazione, o dalla scadenza della sessione? Il primo è banale, alla fine com il login, per la scadenza della sessione potresti sfruttare gli eventi del global asa. Io di solito faccio così:

1. quando uno si logga segno in una tabella l'ora di entrata e il Session.SessionID
2. nel global.asa intercetto l'evento Session_End e aggiorno l'ora di chiusura in base al Session.SessionID

Spero sia quello che ti serve.

Peace
Gvnn

http://www.gvnn.it
http://www.sqlwebarchitect.org
http://blogs.dotnethell.it/gvnn/

Brainkiller Profilo | Guru

>Dovrei memorizzare i dati d'accesso degli utenti: ora login,
>ora logout ed eventualmente le pagine visitate.
>Mi vengonoin mente molti modi per poter fare questo, mi domandavo
> se nella nuova versione 2.0 c'è un modo più semplice.

Metodo di gvnn è ottimo, potresti anche verificare il Context.User.Identity.Name e inserirlo nel DB invece che il SessionID. In questo modo puoi anche verificare quante volte una persona si è collegata in un giorno, quante sessioni ha fatto, quante pagine ha visto (media per sessione, ecc.).

Naturalmente puoi intercettare nel global.asax il termine della sessione ma a quel punto l'utente se n'è già andato dal sito quindi è una informazione secondo me superflua in particolare se hai sessioni da 40/60 minuti (tempi alti). Meglio prendere la data dell'ultima pagina visitata.

FW 2.0 non ti da niente di più su questo fronte, solo sull'autenticazione e la gestione dell'utente (Profile, ecc.) ci sono migliorie. Per il tracking ti fai tutto tu.
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

D79 Profilo | Junior Member

Grazie a tutti e due per i suggerimenti, praticamente farò come facevo con la precedente versione!

Per quanto riguarda invede la navigazione delle pagine, per avere l'elenco di tutte le pagine visitate dall'utente, prima avevo una procedura che richiamavo su ogni form_load di ogni pagina e nella quale registravo la visita sul DB.

C'è una cosa più facile da fare o è così e basta?

----
il mio sito: http://it.geocities.com/chuck_dust/

Brainkiller Profilo | Guru

>Per quanto riguarda invede la navigazione delle pagine, per avere
>l'elenco di tutte le pagine visitate dall'utente, prima avevo
>una procedura che richiamavo su ogni form_load di ogni pagina
> e nella quale registravo la visita sul DB.

Confermo io faccio così. Richiamo una Stored Procedure a ogni Page_Load e registro su DB.
ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

clodoveo Profilo | Newbie

ciao a tutti,
sarei interessato anch'io a realizzare un sistema di tracking simile,
ma essendo un novellino non riesco a far fare la query di inserimento al load della pagina,
qualcuno potrebbe per cortesia postare un codice di esempio?

Mi sareste davvero utili.
Grazie mille
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5