Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435

    Posso usare Application con una ado connection?

    Siccome il mio server fa un accesso continuo al db vorrei creare la connection una volta per tutte, metterla in application e fare in modo che la si sfrutti solo senza fare ogni volta apri/chiudi.

    A un primo occhio pare che tutto vada...ma ho il dubbio che se ci sono tanti clienti connessi la connessione dia problemi di concorrenza all'accesso del db...ditemi che mi sbaglio!

  2. #2
    Non ti sbagli, la stessa microsoft sconsiglia di inserire oggetti in generale dentro variabili session o application (ora non ho il link sotto mano).
    Puoi al limite inserire nell'application la stringa di connessione, oppure farti due semplici routine apri e chiudi.
    Le connessioni vanno sempre chiuse.

    xxx

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Bè ma il chiudi io lo faccio nel file di globals all'evento onAppClose ...

  4. #4
    Originariamente inviato da Dark867
    Bè ma il chiudi io lo faccio nel file di globals all'evento onAppClose ...
    Si certo, peccato che l'evento si scateni solo quando spegni il web server..
    Ripeto, le connessioni vanno chiuse subito, appena non sono più necessarie.
    xxx

  5. #5
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Mh si questo in effetti è vero, ma l'overhead di creare/chiudere ogni volta non è peggio che averne una fissa che comunque si chiuderà prima o poi?
    Cioè metti che si connettono 100 utenti ogni minuto: il server deve fare apri/chiudi in continuazione ( quasi tutte le pagine accedono al db per mostrare i dati) ... dici che è roba da poco?

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Originariamente inviato da Dark867
    Mh si questo in effetti è vero, ma l'overhead di creare/chiudere ogni volta non è peggio che averne una fissa che comunque si chiuderà prima o poi?
    Cioè metti che si connettono 100 utenti ogni minuto: il server deve fare apri/chiudi in continuazione ( quasi tutte le pagine accedono al db per mostrare i dati) ... dici che è roba da poco?
    se non le chiudi subito dopo 15/30 secondi il server dice puppa

    inoltre... visto che
    peccato che l'evento si scateni solo quando spegni il web server
    la domanda nemmeno si pone, altrimenti dovresti spegnere/riavviare il server ogni dieci secondi (o meno se hai tanti utenti)

    quindi, se vuoi, puoi fare application on start / on end

    pensa che solo per un errore di chiusura all'avvio dei una sessione di un'applicazione avevo il server bloccato per 10/15 minuti dopo una decina di accessi (o forse qualche accesso in più, ma fa lo stesso)

  7. #7
    Aprire e chiudere le connessioni (e distruggere gli oggetti relativi) significa occupare spazio/memoria/risorse per il minor tempo possibile, quindi è una buona pratica non un sovraccarico per il server.
    Ovviamente la questione cambia all'interno della pagina, nel senso che se una pagina deve eseguire 10 accessi al database ha senso aprire la connessione all'inizio e chiuderla alla fine anziché fare 10 volte apri/chiudi.

    xxx

  8. #8
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    No aspetta questa cosa dei 15/30 non la sapevo...che succede se una connessione resta aperta per più di questo tempo??

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Originariamente inviato da Dark867
    No aspetta questa cosa dei 15/30 non la sapevo...che succede se una connessione resta aperta per più di questo tempo??
    no... intendevo in base al numero di richieste che rimangono aperte:
    più richieste aperte rimangono, minore è il tempo che ti servirà per esser saturo.
    era riferito al tuo esempio 100/minuto

    la connessione cade da se con lo stesso tempo di una sessione (credo), se non impostato diversamente
    il tempo di apertura inutile grava sul server

  10. #10
    1 crei la connessione
    2 la apri
    3 crei il recordset
    4 lo popoli e ci fai quello che vuoi
    5 chiudi il recordset
    6 lo distruggi
    7 chiudi la connessione
    8 la distruggi

    da 3 a 7 lo puoi fare quante volte vuoi all'interno della stessa apertura di connessione. ma apri e chiudi appena puoi!

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.