14 messaggi dal 20 aprile 2007
Salve a tutti....
raga ho il seguente problema...
in un'applicazione web ho creato una pagina di logout per nella quale, quandi ci si clicca, viene memorizzato in un campo di una tabella l'ora di logout...

Fin qui tutto ok.

Ma quando l'utente anzichè di cliccare sul pulsante di logout preme direttamennte sulla X della finestra dell'applicazione questa si chiude e non memorizza l'ora di logout ( ovviamente...)

COME POSSO " INTERCETTARE " QUSTO EVENTO IN MODO DA FAR ESEGUIRE AL CLICK SULLA X DELLA FINESTRA IL CODICE CHE VOGLIO??

Grazie come al solito....

A buon rendere...
Hai due soluzioni, intercettare la chiusura del browser tramite javascript (come fanno numerosi sistemi bancari), oppure utilizzare la data della scadenza della session, recuperabile nell'evento Session_End.
Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
4 messaggi dal 23 giugno 2006
io ho fatto così se ti può servire:
in web.config:
  <system.web>
    <sessionState
      timeout="10"
      mode="InProc">
    </sessionState>
    ...
    ...
  </system.web>


in global.asax:
 
    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Code that runs when a session ends. 
        ' Note: The Session_End event is raised only when the sessionstate mode
        ' is set to InProc in the Web.config file. If session mode is set to 
        ' StateServer or SQLServer, the event is not raised.
        Dim WriteLog As New MiaClass
        WriteLog.WriteLog(Session.Item("ospite"), "Logoff")
    End Sub



ed infine in App_Code/WriteLogClass.vb
Imports Microsoft.VisualBasic
Public Class MiaClass
Sub WriteLog(ByVal Ospite As String, ByVal Azione As String)
Dim settings As ConnectionStringSettings
settings = ConfigurationManager.ConnectionStrings(<"nome stringa connessione">)
Dim insertStr As String = "INSERT INTO dbo.<nometabella> (Utente, Azione) VALUES('" & Ospite & "','" & Azione & "')"
Using connection As New Data.SqlClient.SqlConnection(settings.ToString)
  Dim command As Data.SqlClient.SqlCommand = connection.CreateCommand()
  command.CommandText = insertStr
  connection.Open()
  command.ExecuteNonQuery()
  connection.Close()
End Using
End Sub
End Class




a me funzione
ciao
dimenticavo: la sessione si chiude quando vuole, credo!
Modificato da oberto il 17 luglio 2007 15.41 -

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.