Я немного смущен о детализации, предлагаемой вызовом HttpResponse.RemoveOutputCacheItem()
. Я заинтересован в выполнении некоторого кэширования вывода на динамически сгенерированных изображениях и хотел бы изменить выходной кеш, используя, по крайней мере, параметры (назовем их «id» и «size» для аргументации).Недействительные части кэша вывода mvc asp.net с различными уровнями детализации
Так, например:
/Image/User?id=1 /Image/User?id=1&size=1 /Image/User?id=1&size=2
бы кэшировать отдельно.
Когда данный пользователь меняет свое изображение; Я хотел бы аннулировать все элементы кэша вывода для этого идентификатора пользователя (независимо от размера). This question отвечает на мой вопрос об одном конкретном параметре. Но ... как бы я начал промывать все кэшированные ответы для пользователя, не обращаясь к параметру размера? (Предположим, что раньше я не знал бы всех возможных значений «размер»).
Я бы в идеале хотелось сделать что-то вроде:
HttpResponse.RemoveOutputCacheItem("/Image/User?id=1&size=*"); //wishful thinking
Может кто-нибудь мне точку в правильном направлении?
Редактировать
@JcMalta предложил перспективное решение, однако я не могу найти подходящую коллекцию, которая подвергается воздействию элементов в кэше вывода. Жизнеспособное решение может включать операцию, аналогичную той, которую он предложил, если она существует где-то.
Спасибо за ответ; HttpResponse.AddCacheItemDependency, по-видимому, будет хорошим вариантом для меня. – DanP