2013-08-20 9 views
6

Co oznacza pooling=false w ciągu połączenia .NET dla bazy danych MySQL?Co oznacza "łączenie = fałsz" w ciągu połączenia MySQL?

Jest to kompletny ciąg połączenia:

return new MySqlConnection("SERVER=localhost;DATABASE=myDataBase;USER=###;PASSWORD=***;POOLING=FALSE;"); 
+6

Google [Connection-Pooling] (http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx), fałszywych oznacza, że ​​nie jest używany. –

+0

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx –

+0

możliwy duplikat puli połączeń [.net] (http://stackoverflow.com/questions/5244126/połączenie z połączeniem sieciowym) – CodeCaster

Odpowiedz

4

Kiedy pooling=false połączenie nie wróci do puli gdy dzwonisz SqlConnection.Close()

Od MSDN

Gdy wartość tego klucza jest ustawiona na true, każde nowo utworzone połączenie zostanie dodany do pula po zamknięciu przez aplikację. Przy następnej próbie otwarcia tego samego połączenia, połączenie to zostanie pobrane z puli w postaci . Połączenia są traktowane tak samo, jeśli mają ten sam ciąg połączenia. Różne połączenia mają różne String Connection

5

Czy połączenie jest częścią puli połączeń, czy nie? Oznacza to, że połączenie będzie udostępniane w całej aplikacji, zamiast tworzyć nowe za każdym razem, gdy otworzysz połączenie.

Należy pamiętać, że aby połączenie puli działało, ciąg połączenia musi być dokładnie taki sam, co oznacza, że ​​nie można zmienić znaku w łańcuchu (nawet białych znaków), a pulowanie nadal działa. Tak więc, połączenie stworzone przez:

"SERVER=localhost;DATABASE=myDataBase;USER=###;PASSWORD=***;POOLING=FALSE;" 

nie będą udostępniane połączenia utworzonego przez:

" SERVER=localhost;DATABASE=myDataBase;USER=###;PASSWORD=***;POOLING=FALSE;" 

powodu wiodącej przestrzeni.