3.939 messaggi dal 28 gennaio 2003
senza scrivere il codice pagina per pagina, è possibile in asp.net scrivere un file di log in maniera centralizzata?

Per ogni pagina scrivere la pagina richiamata e la data.


ciao
103 messaggi dal 04 ottobre 2010
Esiste l'evento BeginRequest http://msdn.microsoft.com/it-it/library/system.web.httpapplication.beginrequest(v=vs.100).aspx definibile nel global.asax, dove si trova come argomento dell'evento la richiesta e di conseguenza, la sua path. L'unico problema è che credo che registri proprio tutto ciò che arrivi all'applicazione, dagli url fatti solo per redirezionare, handler, img, ecc ecc... Cioè non è detto che richiedano per forza una pagina, oltretutto non so se in caso di url rewriting bisogna fare qualcosa alla path di richiesta, quindi per me potrebbe essere una strada da provare, ma con opportune attenzioni. Purtroppo non l'ho provato così a fondo.
Modificato da Biohazard il 31 gennaio 2013 12.18 -
Modificato da Biohazard il 31 gennaio 2013 12.20 -
3.939 messaggi dal 28 gennaio 2003
Ti ringrazio.
In effetti ho provato ma non sono convinto.
Vorrei registrare solo l'accesso alla pagina e non il postback.

Alla fine mi sembra più veloce mettere il codice in ogni pagina

ciao
75 messaggi dal 24 agosto 2006
"pietro09" <pietro09> ha scritto nel messaggio news:395168@...
Ti ringrazio.
In effetti ho provato ma non sono convinto.
Vorrei registrare solo l'accesso alla pagina e non il postback. Alla fine mi sembra più veloce mettere il codice in ogni pagina ciao


Pietro

Crei una classe che eredita da Page e poi ogni pagina da monitorare la fai ereditare dalla tua classe così:
Dentro App_Code:
Public Class PageBase
Inherits System.Web.UI.Page

Protected Overrides Sub OnLoad(e As System.EventArgs) MyBase.OnLoad(e)

If Not HttpContext.Current.User.Identity.IsAuthenticated Then HttpContext.Current.Response.Redirect("~/Login.aspx", False) Exit Sub
End If
' Qui chiami la tua funzione per fare ciò che vuoi LogAccessi()
End Sub

End Class

Le tue pagine usano la tua classe:
Public Class _Default
Inherits Classi.PageBase
......

Ciao
Pino Saffioti
3.939 messaggi dal 28 gennaio 2003
In effetti avevo pensato pure a questa soluzione.
Ma il problema è che le pagine esistono già perciò debbo pur sempre modificare ogni pagina per farla ereditare.

Ciao.
si ma in questo caso la modifica proposta da pisa è minima. Altrimenti httphandler/module?

Ormai programmano tutti... ma la professionalità appartiene a pochi
3.939 messaggi dal 28 gennaio 2003
Hai ragione.
Però ammetterai che, se ho per esempio 100 pagine, è lo stesso scrivere:

Inherits System.Web.UI.MyPage oppure
If Not Me.IsPostBack Then ScriviLog()

Il discorso del modulo va bene, però non vorrei scrivere un record ad ogni postback, ma ad ogni prima apertura pagina.

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.