Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    15

    Impedire apertura piu ISTANZE applicazione

    Ciao a tutti,
    avrei un problema che non riesco a risolvere...non so se potete aiutarmi!
    io ho un applicazione web che viene utilizzata da piu utenti in contemporanea. Vorrei bloccare l'utente ogni volta che cerca di aprire una nuova istanza dell'applicazione sulla PROPRIA macchina.
    Mi spiego meglio:
    l'utente accede normalmente all'applicazione web -> a volte gli utenti premono ctrl + n -> aprono una istanza nuova dell'applicazione sul browser con la stessa sessione -> fanno casino mescolando i dati
    Avete qualche idea su come risolvere questo problema?
    Grazie mille.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Il metodo Application_Start del file Global.asax ed il suo opposto Application_End dovrebbero venirti in aiuto.

    Potresti conservare lo stato dell'applicazione e la sessione dell'utente in un DB o in un file, e gestirne la negazione di una nuova istanza.

    codice:
        Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
            ' Codice eseguito all'avvio dell'applicazione
        End Sub
        
        Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
            ' Codice eseguito alla chiusura dell'applicazione
        End Sub
    Qui ci sono un po' di informazioni:
    http://support.microsoft.com/kb/312607

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    15
    grazie per la risposta inanzitutto

    il problema è che il metodo application_start viene eseguito una volta sola al lancio dell'applicazione. Quando cerco di istanziare una nuova pagina premendo CTrl + n non passa da quel metodo quindi non posso fare nulla.
    Lo stato della applicazione è lo stesso quindi non saprei distinguere quando si lancia un istanza o un altra, anke perche il processo che viene creato è unico (w3wp)
    Credevo ci fosse un impostazione dell'applicazione per renderla a istanza singola come nei Web form ma ho cercato in giro ma credo non ci sia nulla a riguardpo per le applicazioni web.

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da giova77
    il metodo application_start viene eseguito una volta sola al lancio dell'applicazione. Quando cerco di istanziare una nuova pagina premendo CTrl + n non passa da quel metodo quindi non posso fare nulla.
    Uhm, si, hai ragione.
    Potresti scrivere pero' il nome utente ed un flag per denominare l'attivita' dell'istanza.

    Sto pensando ad alta voce, altre soluzioni non mi vengono in mente, la cosa interessa anche a me, ci perdero' un po' di tempo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    15
    io già salvo su un DB la sessione, l'utente e altri dati che servono per la navigazione, e cmq siamo sempre li ... non saprei quando attivare il flag (non so intercettare l'evento di una nuova istanza dell'applicazione web) .. insomma è un po un casino
    Avrei pensato anche se esiste un modo una volta lanciata una nuova istanza di non aprire una nuova finestra di explorer ma mettere quella già aperta in primo piano!Mi andrebbe bene uguale

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    L'evento Session_Start l'hai testato ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    15
    si ma anche da li non ci passa quando lanci un istanza nuova...
    passa solo da Application_BeginRequest e Application_AuthenticateRequest come una normle request insomma..

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da giova77
    si ma anche da li non ci passa quando lanci un istanza nuova...
    passa solo da Application_BeginRequest e Application_AuthenticateRequest come una normle request insomma..
    in effetti, ho provato, la vedo dura

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    15
    si infatti la vedo dura ank'io ... se riesco a trovare qualcosa di faccio sapere cosi magari torna utile anche a te

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Guarda, pensavo anche all'aiuto di Javascript.

    All'onload della pagina main, fare un controllo lato client di un Cookie con un Flag che e' acceso o spento secondo che l'applicazione sia in running o meno. Ma sto sempre pensando ad alta voce

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.