Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie adressiert man das Schließen von SqlConnection innerhalb von ExecuteReader?

Gibt es ein Problem mit der Wiederholungslogik basierend auf einer Ausnahme (und nicht auf einer bestimmten SqlException)? Ich gehe davon aus, dass Ausnahmen, die sich aus Programmierfehlern ergeben, irgendwann während der Testphase herausgefunden werden und schwerwiegende Ausnahmen (wie SO) sowieso nicht vom Catch-Block abgefangen werden, sodass ein generischer Ausnahmeblock für die Wiederholungslogik eine akzeptable Idee sein kann.

Wenn nicht, dann ist es wahrscheinlich Ihre Lösung, ExecuteReader zu verpacken wäre gute idee. In Anbetracht dessen, dass dies dokumentiert ist Verhalten, müssen Sie auch auf andere Ausnahmen achten, die die ExecuteReader-Methode auslösen kann – daher müssen Sie wahrscheinlich IOException antizipieren und ObjectDisposedException abgesehen von InvalidOperationException .