2016-04-16 9 views
-2

Ich lese Verbindung Pool von MSDN. Ich stehe mit diesem Satz:Verbindung verschwand im Verbindungspool

Wenn eine Verbindung zu einem Server vorhanden ist, der diese Verbindung verschwunden ist, kann auch aus dem Pool gezogen werden, wenn die Verbindung pooler hat die abgeschlagene Verbindung nicht erkannt und markiert es als ungültig . Dieser ist der Fall, weil der Overhead der Überprüfung, ob die Verbindung immer noch gültig ist, die Vorteile eines Poolers beseitigen würde, indem ein weiterer Umlauf zum Server auftreten würde. Wenn das auftritt, wird der erste Versuch, die Verbindung zu verwenden, feststellen, dass die Verbindung getrennt wurde, und eine Ausnahme wird ausgelöst.

Kann jeder die verschwundene Verbindung erklären? Und warum wird eine Verbindung verschwinden?

+1

Es sagt * ein Server, * verschwunden ist, keine Verbindung –

Antwort

2

Es ist nicht die Verbindung, die verschwindet. Eine gepoolte Verbindung ist eine eingerichtete Netzwerkverbindung. Jetzt, bis Daten über die Verbindung gesendet werden, kann ein Problem mit der Verbindung mit dem Server (z. B. Netzwerkproblem) möglicherweise nicht erkannt werden.

Daher kann Folgendes passieren:

  • Verbindungen sind offen für eine SQL Server und dem Pool hinzugefügt bekommen
  • Die Netzwerkverbindung (in einer Art und Weise gebrochen wird, die nicht sofort erkannt wird, so (ein Router-Problem; ein unplugged Kabel auf dem Client würde wahrscheinlich sofort erkannt werden)
  • Kurz nachdem eine Anwendung eine gepoolte Verbindung aus dem Pool erstellt
  • Die Verbindung wird zurückgegeben, als ob der Server erreichbar war, weil keine Überprüfung ist getan, um dies zu überprüfen (Das ist, was die zitierte Information über ist)
  • Bei der ersten Verwendung eine Ausnahme
  • geworfen werden