Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment résoudre le problème de fermeture de SqlConnection depuis ExecuteReader ?

Y a-t-il un problème avec la logique de nouvelle tentative basée sur une exception (et non sur une SqlException spécifique) ? Je suppose que les exceptions résultant d'erreurs de programmation seraient éventuellement découvertes pendant la phase de test et que les exceptions graves (telles que SO) ne seraient de toute façon pas interceptées par le bloc catch, de sorte qu'un bloc d'exception générique pour la logique de nouvelle tentative peut être une idée acceptable.

Si ce n'est pas le cas, votre solution consiste probablement à envelopper ExecuteReader serait une bonne idée. Considérant que ceci est documenté comportement, vous devez également prêter attention aux autres exceptions que la méthode ExecuteReader peut générer - vous devrez donc probablement anticiper IOException et ObjectDisposedException à part InvalidOperationException .