I was recently demonstrating an example of how connection pooling (with
SqlConnection) is local to an application domain. That means that you can
effectively reuse connections in a component host, or ASP.NET web service
or web page, but you can't reuse connections between different users who
are connecting directly to a database in a client-server style app.

This got me thinking. By default, connection pooling is enabled with
SqlConnection, and when you release a connection it's held in the
connection pool on the local computer until the application shuts down.
Doesn't that mean that in a client-server application, even if you are
careful to close the connection after every operation, the connection will
actually remain open in the pool? Performance monitoring with SQL
Server:General Statistics:User Connections seems to suggest so. So if
someone is designing a client-server app (for example, a WinForms client
that connects directly to a database), shouldn't they explicitly disable
connection pooling to decrease connection lifetime and increase
scalability?

Thoughts appreciated,
Matthew

===================================
This list is hosted by DevelopMentorŪ  http://www.develop.com
Some .NET courses you may be interested in:

Guerrilla ASP.NET, 10 Nov 2003 in London and 26 Jan 2004, in Los Angeles
http://www.develop.com/courses/gaspdotnet

Guerrilla .NET, 8 Dec 2003, in Los Angeles
http://www.develop.com/courses/gdotnet

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to