.Net MySQL делает «Использование» закрывает DataReader?

StackOverflow https://stackoverflow.com/questions/3586513

  •  01-10-2019
  •  | 
  •  

Вопрос

Я использовал для закрытия открытого ресурса данных, используя блок Try / Catch /, наконец:

 Dim dr As MySqlDataReader = Nothing
 Try
   dr = DBConnection.callReadingStoredProcedure("my_sp")

 Catch ex As Exception
   ' the caller will handle this
   Throw ex
 Finally
   If dr IsNot Nothing Then dr.Close()
 End Try

Но я думаю, что это должно быть очистителем (и несколько быстрее) использовать «Использование» VB ключевое слово:

Using dr As MySqlDataReader = DBConnection.callReadingStoredProcedure("my_sp")

End Using
'   dr is surely disposed, but is it closed? 

Имеется ли интерфейс Idisposion (требуется с использованием), выполняет близко на DataReader?

Это было полезно?

Решение

Объект будет расположена. Да, это закрывает датчик.

Другие советы

Читатель будет закрыт, но это не нужно для подложенного подключения к базе данных, поскольку у него управляется пулом соединения ADO.NET. Проверьте этот ответ для получения дополнительной информации: C # MySQLConnection не закроется

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top