Problem
Ihre Website generiert Fehler ähnlich dem folgenden, die darauf hinweisen, dass die maximale Poolgröße erreicht wurde:
An exception of type 'System.InvalidOperationException' occurred in System.Data.dll but was not handled in user code Additional information: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Ursache
Wenn Sie diese Nachricht erhalten, bedeutet dies, dass Ihre Website alle verfügbaren SQL-Datenbankverbindungen verwendet (das Standardlimit beträgt 15 Verbindungen pro DotNetNuke-Installation). Im Durchschnitt verwendet eine ordnungsgemäß ausgeführte DotNetNuke-Website nur 2-3 SQL-Verbindungen, sodass ein Limit von 15 Verbindungen pro Installation mehr als genug sein sollte, damit eine Website normal funktioniert. Wenn Sie diesen Fehler erhalten, wird dies im Allgemeinen durch einen Fehler in einem Modul auf Ihrer Website verursacht, das Verbindungen zum SQL-Server öffnet und sie nach Abschluss nicht freigibt.
Unter bestimmten Umständen kann dieser Fehler auch dadurch verursacht werden, dass eine Website unter extrem hoher Verarbeitungslast oder extrem hoher Transaktionslast steht.
Auflösung
Wenn Sie sich in einer gemeinsam genutzten Hosting-Umgebung befinden, sollten Sie alle Module auf ihre neueste Version aktualisieren, um sicherzustellen, dass Sie die aktuellsten Module ausführen. Wenn eines Ihrer Module Ihren Verbindungspool ausschöpft, hat der Entwickler das Problem möglicherweise mit einem Update behoben. Wenn dieser Fehler auftritt, müssen Shared-Hosting-Kunden den technischen Support kontaktieren. Wenn das Problem aktiv auftritt, können wir möglicherweise Informationen zu dem Modul bereitstellen, das den Fehler verursacht.
Wenn Sie sich auf einem dedizierten Server befinden und einfach mehr SQL-Verbindungen benötigen, können Sie die Einträge „max. Poolgröße“ in beiden Verbindungszeichenfolgen aktualisieren, indem Sie diesen Anweisungen folgen:
- Melden Sie sich mit Remote Desktop bei Ihrem Server an.
- Öffnen Sie Arbeitsplatz (Windows - E) und gehen Sie zu C:\inetpub\vhosts\[domain]\httpdocs
- Doppelklicken Sie auf die web.config-Datei . Dies kann einfach als Web aufgeführt werden wenn die Dateistruktur so eingestellt ist, dass Erweiterungen ausgeblendet werden. Dadurch wird Visual Basic oder ein ähnlicher Editor geöffnet.
- Suchen Sie Ihre Verbindungszeichenfolgen, diese sehen ähnlich aus wie in den folgenden Beispielen:
- Ändern Sie die maximale Poolgröße=X Wert auf die erforderliche Poolgröße.
- Speichern und schließen Sie Ihre web.config-Datei.