I was doing a bit of exploration on Connections with ado.net.While doing this exercise i realized that when using CloseConnection along with the reader i was under the impression that it closes by itself but actually it wont close the connection.
I had pasted the code sample below which i executed during the test.
SqlConnection objConnection = default(SqlConnection);
objConnection = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Northwind;Data Source=.;Max Pool Size=1");
SqlCommand objCommand = new SqlCommand("Select * from customers", objConnection);
SqlDataReader reader = objCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
So the tip is either create the sqlconnection object by using - using syntax (which ensures that it Disposes connection Object) or after the execution before leaving make a call to explicitly close the connection.
This ensures that connection will be closed for sure. Hence no leak
I hope this helps!.
Motivated achiever who guides organizations in applying technology to business settings, provides added value, and creates project deliverables in a timely manner. An experienced Technical Consultant, have successfully led large project teams of more than 20 people from requirements gathering to implementation and support using C#, .NET ,ADO.NET, ADO.NET Entity Framework,ASP.NET,ASP.NET MVC, WCF and SQL Server.