2009-09-23 4 views

ответ

3

OracleConnection реализует IDisposable, поэтому рекомендуется использовать конструкцию using. То есть

using(var connection = new OracleConnection("connection string")) { 
    // do stuff 
} 

Это гарантирует, что соединение будет закрыто и расположено даже в случае ошибки. Я не вижу причин для отказа от ссылки. Он выйдет за рамки и будет очищен, поэтому нет необходимости загромождать код этим IMO.

1

Да, это так.
Вы также можете позвонить по телефону con.Dispose() после Close. Это гарантирует, что соединение будет выпущено немедленно, не дожидаясь сборщика мусора .NET.

Запомните также закрыть всех читателей, которые вы используете после чтения данных.

+0

На самом деле, Dispose() вызывает Close() для вас (глядя на него в отражателе). Поэтому вам нужно только вызвать Dispose() или обернуть OracleConnection в блоке {...} – thecoop

Смежные вопросы