Si la connexion à une base de données consomme beaucoup de ressources, pourquoi une connexion à la base de données devrait-elle toujours être fermée dans votre application si vous devez l'ouvrir à nouveau? Puis-je simplement rendre cette connexion disponible globalement dans mon application afin que d'autres classes et méthodes puissent la réutiliser?Pourquoi toujours fermer la base de données Connexion à la base de données?
Par exemple (dans le code pseudo):
public class PopulateGridViews()
{
public SqlConnection conn = new SqlConnection(@"Database:DATABASE");
conn.Open();
void PopulateGrid1()
{
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE1");
cmd.Connection = conn;
cmd.ExecuteNonQuery();
cmd.Dispose();
// Populate Grid1
}
void PopulateGrid2()
{
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE2");
cmd.Connection = conn;
cmd.ExecuteNonQuery();
cmd.Dispose();
// Populate Grid2
}
}
Je suggère de lire [SQL Server Connection Pooling (ADO.NET)] (http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx). –