Я также хотел бы добавить, что в случае исключения где-то в вашем //here working on oraclecommand
(в основном внутри вашего оператора using(...){ }
, также будет вызван Dispose()
.
По замыслу вы должны иметь возможность совершать множественные вызовы объекта, реализующего IDisposable
. В вашем случае отправка вызова на Close()
после вашего блока кода using
просто ничего не даст, так как соединение уже закрыто / возвращено в пул. Любые дополнительные вызовы после очистки объекта должны просто вернуться и ничего не делать.