В настоящее время я кеширую результат вызова метода.
Код кэширования следует стандартному шаблону: он использует элемент в кэше, если он существует, в противном случае он вычисляет результат, кэшируя его для будущих вызовов, прежде чем вернуть его.
Я хотел бы оградить клиентский код от пропусков кэша (например, когда срок действия элемента истек).
Я подумываю о том, чтобы порождать поток для ожидания времени жизни кэшированного объекта, чтобы затем запустить предоставленную функцию для повторного заполнения кэша, когда (или непосредственно перед) истекает существующий элемент.
Может кто-нибудь поделиться каким-либо опытом, связанным с этим? Звучит ли это как разумный подход?
Я использую .NET 4.0.