2013-08-20 31 views
6

pooling=false trong chuỗi kết nối .NET cho cơ sở dữ liệu MySQL có nghĩa là gì?"pooling = false" trong chuỗi kết nối MySQL có nghĩa là gì?

Đây là chuỗi kết nối hoàn chỉnh:

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

Google [Kết nối tổng hợp] (http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx), sai nghĩa là bạn không sử dụng. –

+0

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

+0

có thể trùng lặp của [.net connection pooling] (http://stackoverflow.com/questions/5244126/net-connection-pooling) – CodeCaster

Trả lời

4

Khi pooling=false kết nối sẽ không quay trở lại hồ bơi khi bạn gọi SqlConnection.Close()

Từ MSDN

Khi giá trị của khóa này được thiết lập là true, bất kỳ mới được tạo ra kết nối sẽ được thêm vào hồ bơi khi đóng bởi ứng dụng. Trong nỗ lực tiếp theo để mở cùng một kết nối, kết nối đó sẽ là được vẽ từ hồ bơi. Các kết nối được coi là giống nhau nếu chúng có cùng một chuỗi kết nối. Các kết nối khác nhau có các chuỗi kết nối khác nhau

5

kết nối sẽ là một phần của hồ bơi kết nối hay không? Điều này có nghĩa là kết nối được chia sẻ trong suốt ứng dụng thay vì tạo một kết nối mới mỗi lần bạn gọi mở. Lưu ý rằng đối với kết nối tổng hợp để làm việc, chuỗi kết nối phải giống hệt nhau, có nghĩa là bạn không thể thay đổi một ký tự trong chuỗi (thậm chí khoảng trắng) và có tính năng gộp nhóm vẫn hoạt động. Như vậy, kết nối được tạo ra bởi:

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

sẽ không được chia sẻ với một kết nối được tạo ra bởi:

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

vì không gian hàng đầu.