У меня есть веб-приложение .NET2.0 C #. Он имеет переменное количество больших, дорогостоящих для инициации объектов, которые совместно используются несколькими запросами, но не используются ни для какого конкретного пользователя. Поэтому мне нужно сохранить их в поисковой структуре. Эти объекты должны создаваться по мере необходимости и не требуются для срока службы приложения, а просто для срока их использования.
Плюс немного.
Способ утечки памяти - это простой словарь, безопасный способ памяти - словарь со слабыми ссылками, но проблема в том, что GC слишком быстр. Реально это не может быть проблемой, потому что трафик к объектам должен быть таким, чтобы они оставались в живых, не будучи вынужденными слишком много регенерировать, но в идеале я бы хотел, чтобы они тоже сократились.
Есть ли какое-то решение для среднего уровня, о котором я не думаю, что будет держать объекты надежно скрытыми от ГХ в течение некоторого времени X, но также позволит их собирать в конце этого времени, предпочтительно где счетчик времени сбрасывается каждый раз, когда они используются аналогично токенам сессии?