C# SQLConnection-pooling
Kann jemand kurz mir, wie zu tun, Verbindungs-Pooling in ADO.Net, ich brauche eine Verbindung zu 3 separate Datenbanken. 2 von Ihnen sind im gleichen server und die andere in eine separate.
Besser mit code snipts..
Du musst angemeldet sein, um einen Kommentar abzugeben.
solange Sie sind streng über die Veräußerung Ihrer verbindungen, die Standard (für sql-server zumindest) ist, dass es nur funktioniert automatisch. In deinem Beispiel könnte man auch nur 3 zugrunde liegenden verbindungen (eine pro Verbindungs-string).
Aber immer sicherzustellen, dass Ihre verbindungen entsorgt werden, idealerweise mit
using
:dann ist es freigegeben zurück in den pool (für re-verwenden, wenn die gleiche Verbindung-Zeichenfolge gesehen wird, die nächste), selbst wenn eine Ausnahme geworfen wird.
Zu deaktivieren pooling (wenn Sie), gehören
Pooling=false;
im connection-string.conn
angeordnet ist, der auf diese Weise, Sie brauchen nicht zuconn.Close();
.Brauchen nicht zu konfigurieren, oder legen Sie nichts vor allem, lassen Sie es einfach geschehen... die Meisten Probleme, die ich gesehen habe, sind verursacht durch folk-nicht das schließen von verbindungen oder auch clever
Den pools erstellt werden, die pro-Verbindungszeichenfolge, so dass Sie würde haben drei in diesem Fall
Bestimmten Anbieter nicht bieten Verbindungs-pooling. Meines Wissens schließt dies Verbindungszeichenfolgen in Microsoft Access-Datenbanken (Jet) und SQL Server CE (Compact edition).
Den mangelnden Verbindungs-pooling für diese Datenbank zugreifen bemerkenswert langsamer.
Einer Lösung für die fehlenden Jet-pooling war für mich immer nur eine einzige Verbindung zur Jet-Datenbank-öffnen für das ganze Programm Lebensdauer (im Gegensatz zu dem, was die empfohlene Technik ist). Dies beschleunigte mein Jet Access-Datenbank-SQL-Abfragen aus .NET-Anwendungen enorm, aber auch die funktioniert nur auf lokalen Jet-Datenbanken; für Jet-Datenbanken auf Freigaben im Netzwerk, bekomme ich relativ schnell Ausnahmen über zu viele offene Datei-handles.
Für SQL Server CE, habe ich keine Lösung gefunden bisher.