Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    diminure contatore utenti

    salve a tutti
    nel global.asax ho questo codcie
    codice:
     Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
            ' Fires when the session is started
            Application("users") = CInt(Application("users")) + 1
        End Sub
        Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
            ' Fires when the session ends
    
            Application("users") = CInt(Application("users")) - 1
    
            Session.Abandon()
        End Sub
    il problema è che sebbene nella session_start mi aumenta il contatore
    se l'utente invece di disconnettersi chiude il browser il contatore risulta sfalzato in quanto non riesco ad individuare quando il browser si chiude

    come posso fare?
    premetto che la sessione dura 4 ore (me lo hanno chiesto i capi)
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    La chiusura del browser con la X è lato client, se hai variabili server c'è poco da fare.

    Corrisponde all'evento 'onUnload' del <BODY> ...

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    metti le tue pagine in una struttura a frame. Composto da due frame; uno di larghezza 0 e l'altro 100%

    Nel frame nascosto metti una pagina html, nascosto.htm.

    Quando l'utente spegne il browser o cambia sito, si chiude per forza la pagina nascosto.htm.

    Si verifica l'evento client window_onunload

    Perfetto, lì fai una chiamata ajax ad una pagina aspx, es. chiudi_sessione.aspx che finalmente farà:

    FormsAuthentication.SignOut()

    e

    Session.Abandon()

    altri sistemi non ne conosco (tranne quello di ridurre il tempo di sessione a tempi più ragionevoli di 4 ore )

    Pietro

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da pietro09
    metti le tue pagine in una struttura a frame. Composto da due frame; uno di larghezza 0 e l'altro 100%
    Nel frame nascosto metti una pagina html, nascosto.htm.
    Quando l'utente spegne il browser o cambia sito, si chiude per forza la pagina nascosto.htm.
    Si verifica l'evento client window_onunload
    Perfetto, lì fai una chiamata ajax ad una pagina aspx, es. chiudi_sessione.aspx che finalmente farà:
    Figo, ma mi pare che il nostro amico Kahm utilizzi 1.1 quindi niente detersivi

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da djciko
    Figo, ma mi pare che il nostro amico Kahm utilizzi 1.1 quindi niente detersivi
    E osi anche venire in Sardegna ???? ma che dici?

    ajax va pure con asp, con asp.net 1.1, php e tutto il resto




    ps. a meno che... ma non è che quelli, cioè i responsabili di quella società, intendano per 4 ore la durata del tempo di autenticazione? perchè se è così si può ancora ragionare
    Pietro

  6. #6
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    Originariamente inviato da pietro09
    E osi anche venire in Sardegna ???? ma che dici?

    ajax va pure con asp, con asp.net 1.1, php e tutto il resto




    ps. a meno che... ma non è che quelli, cioè i responsabili di quella società, intendano per 4 ore la durata del tempo di autenticazione? perchè se è così si può ancora ragionare
    grazie del suggerimento

    ps
    si è vero che ajax gira anche su asp e asp 1.1, ma NON i controlli avanzati del toolkit
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da pietro09
    E osi anche venire in Sardegna ???? ma che dici?
    ajax va pure con asp, con asp.net 1.1, php e tutto il resto
    Beh si, va su tutto lo so. ma io da 1.1 l'ho usato soltanto con dei wrapper, mai approfondito il codice...E poi mi figuravo ciò che ha detto Kahm, il toolkit dei controlli.

    Comunque non è che all'imbarco mi fanno il test su XMLHttpRequest

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Io, a dire la verità, pensavo che scherzavate, invece fate sul serio .

    per ajax io intendo un piccola funzione javascript che richiede qualcosa al server in maniera asincrona. In questo caso, molto più semplice, ci si limita ad inviare un comando al server, senza ovviamente, attendere la risposta. Questa è la pagina html (sottolineo html ) che fa la cosa: pagina nascosto.htm

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    	<head>
    		<title>nascosto</title>
    		<script src="libreria.js"></script>
    <script id="clientEventHandlersJS" language="javascript">
    <!--
    
    function window_onunload() 
    {
    	new ajax("chiudi_sessione.aspx", null, "ajax_comando=logoff");
    }
    
    //-->
    </script>
    	</head>
    	<body onunload="return window_onunload()" >
    	</body>
    </html>
    e questa è la pagina server:
    codice:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    	'Inserire qui il codice utente necessario per inizializzare la pagina
    	ChiudiSessione()
    
    End Sub
    
    Private Sub ChiudiSessione()
    	If Not (Request.Cookies("miosito") Is Nothing) Then
    		'aggiorna la data di disconnessione dell'utente
    		Try
    			AggiornaLog(Request.Cookies("miosito")("id_utente"))
    		Catch ex As Exception
    
    		End Try
    	End If
    
    
    	'Rimuove il ticket di autenticazione
    	FormsAuthentication.SignOut()
    
    	'abbandona la sessione
    	Session.Abandon()
    
    End Sub
    controlli avanzati del toolkit
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.