J'ai mon entreprise, la logique mise en œuvre dans de simples classes statiques avec des méthodes statiques. Chacune de ces méthodes ouvre/ferme la connexion SQL, lorsqu'il est appelé:
public static void AddSomething(string something)
{
using (SqlConnection connection = new SqlConnection("..."))
{
connection.Open();
// ...
connection.Close();
}
}
Mais je pense que d'éviter l'ouverture et la fermeture d'une connexion enregistre des performances. J'ai fait quelques tests loooong temps auparavant avec OleDbConnection classe (pas sûr de SqlConnection), et il a certainement aidé à travailler comme ça (comme je me souviens bien):
//pass the connection object into the method
public static void AddSomething(string something, SqlConnection connection)
{
bool openConn = (connection.State == ConnectionState.Open);
if (!openConn) connection.Open();
// ....
if (!openConn) connection.Close();
}
Donc la question est - ce que je devrais choisir la méthode (a) ou de la méthode (b) ? J'ai lu sur un autre stackoverflow question que le regroupement de connexions de performances enregistrées pour moi, je n'ai pas de peine à tous les...
PS. C'est un ASP.NET app - connexions existent uniquement lors d'une web-demande. Pas une victoire de l'application ou du service.