Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Verifica connessionie aperta

    Ho un sito LOCALE con
    - IIS 5.1
    - ASP 3.0
    - MSAccess
    Le pagine ASP superano di gran lunga il centinaio e sono assai complesse.
    In locale il sito funziona perfettamente ma su internet (con IIS 6.0), probabilmente a causa dell'elevato numero di utenti che accedono contemporaneamente, qualche volta si blocca e bisogna "riavviare il pool applicativo".
    Ho ipotizzato che ciò sia a causa di una connessione aperta e non correttamente chiusa. In generale all'apertura di ogni pagina apro la connessione
    codice:
    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Session("gloDB")+"dbS.MDB"
    cnn.open strConn
    e in qualche altro punto (o più di un punto a seconda dei casi) la chiudo
    codice:
    cnn.close : set cnn=nothing
    Avrei quindi pensato ad un programma (se esiste) che, sul mio PC, verificasse in tempo reale l'esistenza di una connessione aperta ed emettesse un fischio quando si apre e tacesse quando essa si chiude.
    In tal modo in fase di sviluppo verificherei se, al termine della visualizzazione di qualche pagina, il fischio perdurasse. Ovviamente in luogo del fischio si potrebbe pensare ad un opportuno segnale visivo o altro.
    Esiste un programma del genere o, in caso negativo, qualcuno sa darmi dei suggerimenti o degli spunti per svilupparlo utilizzando possibilmente il sempre valido VB6 ?
    Grazie per l'attenzione.

  2. #2
    fa' il bravo soldatino, edita tutte le pagine dove apri una connessione e metti le istruzioni di chiusura.

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ho qualche dubbio che esista in asp, non so in VB6 nel caso chiedi il transfert della discussione nel forum programmazione, l'ipotesi sqlserver al posto di access ma considerata?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    con qualunque db aprire le connessioni e non chiuderle è "bad practice"

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da optime Visualizza il messaggio
    con qualunque db aprire le connessioni e non chiuderle è "bad practice"
    Su questo non ci piove, ma dato che è un ipotesi e che in rete ha un elevato numeri di utenti, prima di verificare più di 100 pagine migrerei ad un database serio mysql/sqlserver poi rifacendo le connessioni verificherei anche le aperture/chiusure db
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Creati un file di log nel quale metterai, in occasione di apertura o chiusura del db, una riga con utente, pagina, apertura/chiusura, data e ora.

    Basta esaminarlo per individuare eventuali mancate chiusure...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    @andrea: dipende da *quanti* sono veramente gli utenti; e comunque passare a un database "serio" non lo esime da chiudere le connessioni aperte
    @br1: per mettere il file di log deve comunque ripassarsi tutte le pagine; tanto vale fare il lavoro di chiudere le connessioni aperte (che poi il log possa servire anche ad altro è un altro discorso)

  8. #8
    A me sembrava (e sembra tuttora) una buona idea avere un programma su PC che, in fase di creazione delle varie pagine, emette un fischio ogniqualvolta di apre una connessione. In tal modo se ci si dimentica di chiuderne una si viene assordati dal fischio e si può analizzare meglio la pagina per capire dove effettuare le opportune modifiche.
    Sempreche la cosa sia tecnicamente fattibile, e questo non lo so proprio. Si tratterebbe di testare ogni microsecondo o giù di lì, un ... qualcosa.
    Il numero degli utenti, in fase di creazione del sito, è uno. Va da se che comprendo perfettamente che la chiusura di una connessione è importante. Per la cronaca le pagine sono 268.

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Quote Originariamente inviata da giustavalla Visualizza il messaggio
    A me sembra una buona idea avere un programma su PC che....
    certo che si.
    ma ad oggi non ho trovato una soluzione interessante a riguardo, e non so se la connessione sia "intercettabile".

    piuttosto si potrebbe fare un semplice "analizzatore" per il codice al quale si passano i file, e si stampano aperture e chiusure e ci si inventa qualche opzione o strumento.


    una soluzione "rapida" e possibile alla tua domanda, a parte il programma fischio, potrebbe essere un test di questo tipo:
    se hai un file incluso a fondo pagina potresti imporre la chiusura della connessione (o di un recordset).
    se il programma restituisce errore vuol dire che l'oggetto era già chiuso, altrimenti è ancora esistente.
    quindi forse è una pagina da controllare.

    per ora mi viene in mente solo questo.

    ricordo di aver avuto un problema analogo. avevo incluso un file (tra l'altro non scritto da me) dove la connessione era nothing ma non era stata chiusa. non hai idea di quanto tempo ci ho messo per capire che il problema era in quel file... davo per scontato che fosse corretto

  10. #10
    Avevo provato anch'io a farmi un programma che analizzava riga per riga le varie pagine ma purtroppo ho dovuto considerare che non sempre (quasi mai) la chiusura avviene alla fine della pagina. Inoltre ci potrebbe essere (come c'è) qualche pagina con più di un punto in cui c'è l'istruzione
    cnn.close : set cnn=nothing
    Ancora: qualche pagina accede ad 2 diversi MDB e quindi le cose si fanno ancor più difficili.
    Hai ragione nell'esprimere il dubbio le la connessione sia "intercettabile" ma, a occhio e croce, lo dovrebbe essere. Come non so.

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.