35 messaggi dal 04 gennaio 2008
Buongiorno a tutti,

ho un sito asp.net composto da più pagine le quali hanno in comune la medesima pagina master. In tutte queste pagine ho la necessità di accedere ad un database per diversi motivi.
Al momento quando ho bisogno di aprire un datareader, popolare una combo o altro, istanzio un nuovo oggetto connessione che apro e chiudo al termine della fase di recupero dati.
Ovviamente questa soluzione non è molto performante in quanto solitamente in un interrogazione non particolarmente complessa ad un database, la maggior parte del tempo se ne va per l'apertura della connessione.
L'idea quindi sarebbe quella di creare una connessione pubblica nella pagina master che viene aperta una sola volta. Tutte le volte che le pagine dovranno utilizzare una connessione utilizzeranno quella della pagina master. Per rispondere all'obiezione che sicuramente mi avreste fatto dico: sì, la pagina master viene caricata una sola volta perchè quando cambio pagina carico solo il contentplaceholder grazie ad ajax.
La domanda è:
- ha senso gestire la connessione così?
- se sì come faccio a sapere se la connessione è REALMENTE aperta?(ricordo che la proprietà state dell'oggetto connection è solo lo stato in cui IL FRAMEWORK PENSA che sia la connessione...)
- di conseguenza...come faccio ad essere sicuro che la connessione sia rimasta aperta? faccio una query stupida ogni volta che ci accedo e se si verfica una certa eccezione riapro la connessione?

mamma mia...sono un grafomane ...

ciao a tutti e grazie
è proprio per il costo di aprire una connessione che il framework ha un Connection Pool.

devi solo occuparti di aprire il più tardi possibile la connessione e chiuderla subito dopo il suo utilizzo.

mantenere una connessione aperta non ha senso e bloccherebbe la tua applicazione

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
35 messaggi dal 04 gennaio 2008
Avevo dato un occhiata troppo rapida all'argomento e ne ho travisato il senso.
Riletto con più calma ne ho capito il senso.
Mi sono posto dei problemi inesistenti (indirizzato purtroppo da un collega)...

Grazie e ciao
di niente, e non ti preoccupare è normale avere tutto chiaro di cosa succede "dietro le quinte"

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.