Я вижу, что ты делаешь неправильно, но не могу понять, что было бы правильно. Ваша логика как заявлено:
- Получить объект.
- Хранить объект.
- Очистить объект, сделав его бесполезным.
- Получить объект.
- Использовать объект.
Не имеет смысла иметь 3 до 5.
Если объект можно быстро получить, вы должны просто сделать это на каждой странице. (Часто люди переоценивают стоимость этого).
Если объект получается медленно и имеет смысл хранить его в течение длительного периода времени, то его не нужно очищать. Что на самом деле здесь делает Dispose ()? При этом получение и высвобождение ресурсов, используемых членами по мере необходимости.
Я подозреваю, что первым здесь можно воспользоваться, но в основном это предположение.
Меня также будет беспокоить, когда вы говорите о базе данных, поддерживает ли ваш объект соединение с базой данных? Если это так, и пул доступен, то вы должны как можно быстрее разъединять эти соединения, а не держаться за них.