Проблема, связанная с использованием сборщика мусора для закрытия соединений, заключается в том, что вы не можете.
Если вы оставите параметры соединения для очистки сборщика мусора, вы не сможете контролировать, когда это произойдет.случается.Сборщик мусора в конечном итоге закроет их, но когда это произойдет, это зависит от множества факторов, например, от того, сколько имеется доступной памяти и сколько памяти используется.Эти факторы будут отличаться от одного сервера к другому, но они могут также меняться со временем, поэтому вы даже не можете рассчитывать на сборщик мусора, который всегда будет работать одинаково даже на одном и том же сервере.
Реагируют разные базы данныхпо-разному иметь много незакрытых соединений.Например, база данных Access крайне чувствительна к этому, не допуская более 64 подключений.
В любом случае, вы всегда должны закрывать свои подключения и свои устройства чтения данных.Кроме того, вы должны использовать блоки using
или try...finally
, чтобы убедиться, что соединения действительно всегда закрыты, даже если в коде что-то идет не так.