Domanda

Posso memorizzare una connessione al database nell'oggetto Session?

È stato utile?

Soluzione 4

Da questo collegamento http://support.microsoft.com/default.aspx/kb/243543

Non dovresti memorizzare la connessione al database in Session.

Da quanto ho capito, se lo fai, le successive richieste ASP per lo stesso utente devono utilizzare lo stesso thread.

Pertanto se hai un sito occupato è probabile che il "tuo" thread sia già utilizzato da qualcun altro, quindi dovrai aspettare che diventi disponibile.

Moltiplicalo per molti più utenti e otterrai tutti in attesa del thread di tutti gli altri e di un sito non molto reattivo.

Altri suggerimenti

Generalmente non è consigliabile farlo, una stringa di connessione nella variabile Application, con una bella funzione/classe di supporto è un metodo di gran lunga preferito. Qui è un riferimento. (Link non funzionante rimosso perché ora porta a un sito di phishing)

Mi sembra di ricordare che farlo avrà l'effetto di eseguire il threading singolo della tua applicazione, il che sarebbe una cosa negativa.

In generale, non memorizzerei alcun oggetto nelle variabili dell'applicazione (e certamente non nelle variabili di sessione).

Quando si tratta di connessioni al database, è decisamente un no-no;inoltre non ce n'è assolutamente bisogno.

Se usi ADO per comunicare con il database, se usi la stessa stringa di connessione (sì, certo, negozio Questo in una variabile Applicazione) per tutte le connessioni al database, il "pooling delle connessioni" verrà implementato dietro le quinte.Ciò significa che quando rilasci una connessione, questa non viene effettivamente distrutta, ma viene messa da parte per i successivi utenti che desiderano la stessa connessione.Pertanto, la prossima volta che richiedi la stessa connessione, questa verrà estratta dallo scaffale anziché essere creata e istanziata esplicitamente, il che rappresenta un notevole miglioramento dell'efficienza.

Come detto da CJM, non è necessario memorizzare una connessione in un oggetto Session:il pooling delle connessioni è molto migliore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top