Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Rimuovere Application

  1. #1

    Rimuovere Application

    Questa Application memorizza i singoli nomi degli utenti on line che entrano in una determinata pagina:

    Application.lock
    ' se la session non esiste aggiungi la sessione nella application
    if Session("utentionline") <> "AGGIORNA" then
    application("utentionline") = application("utentionline") & nomeutente
    End If

    session("utentionline")= "AGGIORNA"

    utentipagina = application("utentionline")

    'Mostra a video
    Response.Write utentipagina

    Application.unlock
    Ora che la pagina aggiorna regolarmente i Nick che la visitano, ho bisogno di togliere i nomi che la abbandonano.

    Come faccio a togliere dalla Application un singolo nome che abbandona la pagina??

    Se faccio così
    Application.Contents.Remove("utentionline")
    li rimuovo semplicemente tutti ma non va bene.

    Grazie
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  2. #2
    Per poter ovviare al tuo problema devi usare una struttura dati tipo Array o un recordset disconnesso..

    Infatti, nel tuo caso application("utentionline") contiene una stringa di nomi, ma se scrivi Application.Contents.Remove("utentionline") elimini la variabile di applicazione "utentionline" e quindi, non riesci a eliminare i singoli utenti.

    Puoi ovviare questo problema usando un array:


    cambia questo:_
    if Session("utentionline") <> "AGGIORNA" then
    application("utentionline") = application("utentionline") & nomeutente
    End If


    in questo::

    if Session("utentionline") <> "AGGIORNA" then
    application("utentionline") = application("utentionline") & " " & nomeutente
    End If


    Poi quando devi rileggere il nome utente per eliminarlo dagli "utentionline" devi fare così:

    'Eliminazione nome utente
    arrUtenti = Split(Application("UtentiOnLine")," ")
    for i=0 to uBound(arrUtenti)
    if arrUtenti(i) <> NomeUtenteDaRimuovere then
    nuovoArrayUtenti = nuovoArrayUtenti & " " & arrUtenti(i)
    end if
    next

    application("utentionline") = nuovoArrayUtenti
    ----

    In questo modo, quando l'utente si disconnette ricrei la stringa dei nome-utente e la riassegni alla variabile di applicazione application("utentionline").



    Spero di essere stato utile..

    Ciao,

    L
    www.magimax.it - Servizi per l'evoluzione digitale delle imprese
    My blog: zerointeractive.wordpress.com

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non c'era bisogno di aprire un'altra discussione per lo stesso argomento.
    Leggi il regolamento, grazie.

    Roby

  4. #4
    Grazie zerointeractive
    come giustamente ha risposto sopra Roby_72 c'è gia un ottimo post di 9 pagine che tratta
    la creazione di una lista di utenti On Line usando session e appliation, da quel post sono riuscito a fare grossi passi avanti adattando e rileggendo tutti i passi che loro hanno scritto,
    anche se quello che devo fare io è in parte simile all'argomento risolto da loro.

    Onestamente non ho ancora risolto del tutto, perchè nel post di cui dicevo prima, si usa il global.asa per aggiornare le uscite e le entrate dal sito, mentre io non intendo utilizzarlo.

    Nel mio caso, invece devo mostrare gli utenti connessi escusivamente su una sola pagina, per questo motivo non mi funziona ancora a dovere.

    Attualmente sto lavorando su due pagine chat.asp dove aggiorno una Application all'ingresso in chat.


    Codice PHP:
    if Session("MiaPagina")<>"OK" then 
         application
    .lock
          Application
    ("utentionline") = Application("utentionline") & Session("utente") & "#^#" session("orario") & "|"
         
    application.unlock 
        End 
    If
           
    session("MiaPagina")= "OK"


    '//VISUOLIZZA UTENTI IN CHAT
    arrUtenti = Split(Application("utentionline"),"|") 
    for i = 0 to UBound(arrUtenti)-1
    arrUser_ID = split (arrUtenti(i), "#^#")
    user = arrUser_ID(0)
    id   = arrUser_ID(1)
    if i <> UBound(arrUtenti)-1 then 
    response.write "[url=""]"& user &" - " & id & " ,[/url] "
    else 
    response.write "[url=""]"& user &" - " & id & "[/url]"
    end if  
    arrUser_ID = null
    Next 
    Quando l'utente esce dalla chat passando in una qualsiasi pagine del sito che non sia chat.asp, incombe in un paio di condizioni che richiamano una funzione che dovrebbe cancellare ed aggiornale l'Application eliminando i nomi che non servono.

    CancellaUtentiChat()


    Codice PHP:
    Function CancellaUtentiChat()
            
    Dim vecchio
            
        
        
    '    Application.Contents.Remove("utentionline")
            
            
          '
    rimuovo la sessione utente e aggiorno Application
             vecchio 
    "" 
    '       application.lock 
    '         
    if instr(application("utentionline"), "|") > 0 then
    '          vecchio = Session("utente") & "#^#" & session("orario") & "|"
    '            
    else
    '          vecchio = Session("utente") & "#^#" & session("orario")
    '         
    End if
     
    '         Application("utentionline") = replace(Application("utentionline"), vecchio, "") 
             

    arrUtenti = Split(Application("utentionline"),"|") 
    for i = 0 to UBound(arrUtenti)-1
    arrUser_ID = split (arrUtenti(i), "#^#")
    user = arrUser_ID(0)
    id   = arrUser_ID(1)
    if i <> UBound(arrUtenti)-1 then 
    if arrUtenti(i) <> Session("utente") then
    nuovoArrayUtenti = nuovoArrayUtenti & " " & arrUtenti(i)
    End If
    end if  
    arrUser_ID = null
    Next
              
                  
                    '  
    application.lock 
                       application
    ("utentionline") = nuovoArrayUtenti "|"
                    '  application.lock       
               '  
    Application("utentionline") = replace(Application("utentionline"), nuovoArrayUtenti"")
               
                 
    Response.write nuovoArrayUtenti

                 
    '/ rimuovo la sessione creata nella pagina
            on error resume next
            Session.Contents.remove("MiaPagina")
            If Err <> 0 Then
                Err.Clear
                Session("MiaPagina") = ""
            End If

        '    
    on error resume next
        
    '    Session.Contents.remove("utente")
        '    
    If Err <> 0 Then
        
    '        Err.Clear
        '        
    Session("utente") = ""
        '    End If
            
            on error resume next
            Session.Contents.remove("orario")
            If Err <> 0 Then
                Err.Clear
                Session("orario") = ""
            End If

      
          End Function 

    In pratica il sistema di aggiornamento Application e cancellazione non usano il global.asa,
    non avendo trovato nulla nel forum, ho pensato di aprire questa discussione.

    Grazie a zerointeractive stasera avrò da provare il suo array, spero di risolvere, il codice della funzione per aggiornare la application e cancellare le sessioni è stracommentato perchè l'ho postato allo stato attuale della mia situazione.
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.