wie viele Instanzen von SqlConnection sollte ich verwenden

9

Hintergrund:
Ich habe eine Anwendung, die ich meine Schnittstellenlogik von meiner Middle-Tier-Logik, die die Abfragen an die Datenbank behandelt, getrennt habe. Ich mache eine Menge von benutzerdefinierten Sortierung und Einengungen, so dass ich nicht viele SqlDataSources verwenden und stattdessen viele gespeicherte Prozeduren mit SqlCommands aufrufen.

Ich verwende die Formularauthentifizierung, um geschützte Unterverzeichnisse zu erstellen. In den web.config-Dateien in den geschützten Verzeichnissen habe ich mehr Verbindungszeichenfolgen, die mit Benutzern mit Rollen mit höheren Rechten verknüpft sind.

Frage:
Soll ich ein SqlConnection-Objekt in meiner mittleren Schicht teilen, um sich wiederholenden Code zu entfernen, oder sollte ich für jede Operation eine neue Instanz erstellen? Eine gemeinsam genutzte SqlConnection könnte ich wieder instanziieren, wenn ich Verbindungszeichenfolgen ändern muss, um Zugriff auf geschützte gespeicherte Prozeduren zu erhalten. Gibt es hier eine Best Practice?

    
Justin C 02.02.2010, 22:42
quelle

3 Antworten

11

Machen Sie sich keine Sorgen um die Freigabe, um Ressourcen zu sparen. .NET wird das für Sie verwalten, es führt standardmäßig das Pooling von Verbindungen durch. Schreiben Sie den Code, um klar und verständlich zu sein, und lassen Sie .NET sich um diese Details kümmern.

    
Hogan 02.02.2010, 22:44
quelle
9

Erstellen Sie mit der using-Anweisung so viele SqlConnections, wie Sie benötigen, und zwar so kurz wie möglich:

%Vor%

SQL-Verbindungen werden aus einem Verbindungspool entnommen, der automatisch Konflikte für Sie verwaltet.

Siehe: Ссылка

    
Jordão 02.02.2010 22:45
quelle
2

Erstellen Sie einen neuen (und disponieren Sie ihn ordnungsgemäß) und nutzen Sie das Pooling von Verbindungen .

>     
ziya 02.02.2010 22:44
quelle