Dans l'exemple de code ci-dessous, ma connexion de contexte de données restera-t-elle ouverte une fois la méthode ListOfLists terminée? Ai-je besoin de le fermer explicitement, ou restera-t-il ouvert et disponible pour d'autres méthodes?Ma connexion SQL restera-t-elle ouverte une fois mon dictionnaire rempli
public static Dictionary<int, string > ListOfLists()
{
try
{
ListDataDataContext db = new ListDataDataContext(GetConnectionString("Master"));
return db.ListMatchingHeaders
.Select(r => new { r.ListRecNum, r.ListName })
.ToDictionary(t => t.ListRecNum, t => t.ListName);
}
catch (Exception)
{
MessageBox.Show("Could not connect to database, please check connection and try again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
}
D'abord, vous avalez l'exception qui rendra le débogage plus difficile plus tard. Deuxièmement, vous n'avez aucune exception à faire avec, par exemple. 'catch (Exception e)'. Troisièmement, à moins que vous n'ayez à traiter la cause de l'exception et que vous ne la corrigiez, ou que vous n'essayiez de le faire à nouveau, vous devriez lancer l'exception, afin qu'elle soit traitée plus haut dans la pile des appels. –