Hintergrund:
Ich habe eine Anwendung, die ich meine Schnittstellenlogik von meiner Middle-Tier-Logik, die die Abfragen an die Datenbank verarbeitet hat. Ich mache eine Menge von benutzerdefinierten Sortierung und Einengungen, so dass ich nicht viele SqlDataSources verwende und stattdessen viele gespeicherte Prozeduren mit SqlCommands aufrufen.Wie viele Instanzen von SqlConnection sollte ich verwenden
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öherer Priorität verknüpft sind.
Frage:
Sollte ich ein SqlConnection-Objekt in meiner mittleren Schicht freigeben, 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?
+1 für die Antwort. Die "using" -Syntax ist definitiv der Weg zu gehen (ich denke, es kann auch für den Datei-/Stream-Zugriff verwendet werden). –
Sicher kann es für jede verfügbare Ressource (Klassen implementieren IDisposable) –