È buona norma disporre di un oggetto SqlConnection condiviso in un'applicazione .NET da utilizzare per tutte le connessioni del database o se ne deve essere separato ogni volta che si accede al database?Shared SqlConnection
Attualmente ne ho uno condiviso e sembra che si stia imbattendo in problemi all'improvviso. Sembra che non possa usare uno condiviso quando devo usare la modalità di autenticazione SQL invece della modalità di autenticazione di Windows. Ho appena provato per la prima volta utilizzando l'autenticazione SQL e mi ha dato questo errore quando ho provato a utilizzare la stessa connessione una seconda volta:
C'è già un DataReader aperto associato a questo comando che deve essere chiuso per primo.
Se stai dicendo "non usare MARS", hai delle ragioni specifiche? Per curiosità ... –
http://blogs.msdn.com/sqlnativeclient/archive/2006/09/27/774290.aspx discute alcuni dei negativi all'utilizzo di MARS – RichardOD
Il modello di isolamento della transazione di MARS è incompleto, come in non completamente definito teoricamente. Il risultato è che il server potrebbe diventare "confuso", come ammette il link pubblicato da Richard. Che cosa "confusione" di solito significa è che il numero di interazioni possibili è troppo grande e non tutti i percorsi di codice nel server vengono testati e convalidati. –