Нет, ничего, кроме некоторых переключателей. Даже не маршрутизатор.

ользую NHibernate и ODP.NET для подключения к базе данных Oracle 11g. Конечно, могут быть ошибки соединения (сбой сети, сбой БД, ...). Я обрабатываю все эти исключения в своем коде, поэтому никаких проблем нет. Но, конечно, пользователь может повторить свои действия (возможно, это был просто короткий сбой сети), и возникает моя проблема:

ODP.NET по умолчанию использует пул соединений. Обычно проблем с этим нет, но когда пользователь повторяет действие после ошибки соединения, NHibernate получает недопустимое (объединенное в пул) соединение из ODP.NET. Пользователь должен повторить попытку несколько раз (пока пул не опустеет), чтобы он снова заработал.

Конечно, я могу отключить пул соединений в ODP.NET, но я бы хотел этого избежать. Я также читал о настройке, которая проверяет соединение с БД для каждого возвращаемого соединения из пула, но это добавляет дополнительную обратную связь к каждому соединению, которого я тоже хотел бы избежать.

Есть ли способ настроить ODP.NET для автоматической очистки пула соединений, когда любое соединение вызывает исключение соединения?

Ответы на вопрос(2)

Ваш ответ на вопрос