Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problema ostico su utenti connessi....

    So che è un problema ostico ma spero di trovare la fortuna di imbattermi in qualcuno che me lo sappia risolvere......così ci provo di tanto in tanto. Ho questa application che non mi decrementa gli utenti:
    codice:
    <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
    Sub Application_OnStart
    	'Imposta a 0 il numero di utenti quando parte il servizio server
    
    Application("ActiveUsers")  = 0
    End Sub
    Sub Session_OnStart
    	 
    	Session("Start") = Now
    	'Incremento il numero di utenti all'inizio di una nuova sessione
            Session.Timeout= 14
            Application.Lock
    	Application("ActiveUsers") = Application("ActiveUsers") + 1
    	Application.UnLock
    End Sub
    Sub Session_OnEnd
    	'Decremento il numero di utenti alla fine di ogni sessione
    	Application.Lock
    	Application("ActiveUsers") = Application("ActiveUsers") - 1
    	Application.UnLock
    End Sub
    'PROVA DEL 30-07-2004
    Sub Application_OnStart
    Application("Users") = ""
    End Sub
    
    Sub Session_OnEnd
    
      Application.Lock
      Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
      'quando scade una sessione viene eliminato il nome dell'utente dalla variabile di
      'applicazione che contiene l'elenco degli utenti attivi
      Application.UnLock
    
    End Sub
    </SCRIPT>
    ma la cosa anomala è questa: in una pagina ho il nome degli utenti connessi e lì il timeout sembra funzionare
    codice:
    <% 
    Dim arrUtenti 
    arrUtenti = Split(Application("Users"),"|") 
    dim utenti 
    for i = 0 to UBound(arrUtenti)-1 
    if i <> UBound(arrUtenti)-1 then 
    utenti = utenti & arrUtenti(i) & " , " 
    else 
    utenti = utenti & arrUtenti(i) 
    end if  
    Next 
    Response.Write "<font color=#FF9900 size=4 font face=verdana> " & utenti & "</font>" 
    %>
    in un'altra ho il numero degli utenti connessi e incrementa ma non decrementa mai:

    codice:
    valore=CInt(Application("ActiveUsers"))
    
    response.write ("[img][/img]")

    Un consulto......che ne pensate?

  2. #2
    se il tuo global asa è scritto come lo hai scritto è sbagliato ... in qualsiasi applicazione non puoi avere due sub o due funzioni con lo stesso nome!!!!! ....

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Originariamente inviato da vaargard
    se il tuo global asa è scritto come lo hai scritto è sbagliato ... in qualsiasi applicazione non puoi avere due sub o due funzioni con lo stesso nome!!!!! ....
    :master:

    A prescindere, mi sono accorto di una cosa; nella pagina dove mette a video gli utenti succede che se non c'è nessuno collegato allora non mi da nessun nome altrimenti basta che ci sia solo io collegato ed allora mi da una decina di nomi ( non so con quale criterio).

    x Vargard: dov'è che definisco due session diverse?

  4. #4
    non capisco la domanda, rimannendo nel global asa, in una sub o in una funzione tu puoi effettuare n azioni ... quindi puoi settare un'infinità di variabili di sessione nella sub on_start così pure per le application ...

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    In pratica per come ho strutturato il global dovrei avere due script?

  6. #6
    no, assolutamente no ... il tuo global.asa dovrebbe essere così:

    codice:
    <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
    Sub Application_OnStart
    	'Imposta a 0 il numero di utenti quando parte il servizio server
    
      Application("ActiveUsers")  = 0
    
    'PROVA DEL 30-07-2004
    
      Application("Users") = ""
    
    End Sub
    Sub Session_OnStart
    	 
    	Session("Start") = Now
    	'Incremento il numero di utenti all'inizio di una nuova sessione
            Session.Timeout= 14
            Application.Lock
    	Application("ActiveUsers") = Application("ActiveUsers") + 1
    	Application.UnLock
    End Sub
    Sub Session_OnEnd
    	'Decremento il numero di utenti alla fine di ogni sessione
    	Application.Lock
    	Application("ActiveUsers") = Application("ActiveUsers") - 1
    	Application.UnLock
         
            Application.Lock
                Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
             'quando scade una sessione viene eliminato il nome dell'utente dalla variabile di
              'applicazione che contiene l'elenco degli utenti attivi
            Application.UnLock
    
    End Sub
    
    </SCRIPT>

  7. #7
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Lo cambio. Ti farò sapere. Grazie.

  8. #8
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ho cambiato il global. Sembra che per quanto riguarda il nome degli utenti connessi vada bene ma il conteggio assolutamente no. Ho fatto tre login e mi da sette utenti connessi....... ......non ci riesco proprio.....

  9. #9
    prova "cintando" i numeri ... in modo che l'operazione risulti giusta (scusa ho sonno e non riesco a scrivere!!!:-)

    codice:
    
    <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
    Sub Application_OnStart
    	'Imposta a 0 il numero di utenti quando parte il servizio server
    
      Application("ActiveUsers")  = 0
    
    'PROVA DEL 30-07-2004
    
      Application("Users") = ""
    
    End Sub
    Sub Session_OnStart
    	 
    	Session("Start") = Now
    	'Incremento il numero di utenti all'inizio di una nuova sessione
            Session.Timeout= 14
            Application.Lock
    	Application("ActiveUsers") = cint(Application("ActiveUsers")) + 1
    	Application.UnLock
    End Sub
    Sub Session_OnEnd
    	'Decremento il numero di utenti alla fine di ogni sessione
    	Application.Lock
    	Application("ActiveUsers") = cint(Application("ActiveUsers")) - 1
    	Application.UnLock
         
            Application.Lock
                Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
             'quando scade una sessione viene eliminato il nome dell'utente dalla variabile di
              'applicazione che contiene l'elenco degli utenti attivi
            Application.UnLock
    
    End Sub
    
    </SCRIPT>

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.