Я использую asp.net 4.0 (веб-сайт веб-форм), и я реализовал собственный поставщик вывода на основе диска, который отлично работает при кэшировании страниц на моем сайте.Однако проблема, которую я получаю, заключается в том, что я не могу найти способ удалить определенную страницу из кэша, и я подозреваю, что это проблема с перезаписью URL.
Например, если у меня есть страница с именем test.aspxЯ могу легко удалить его из кэша, используя:
HttpResponse.RemoveOutputCacheItem("/test.aspx");
Это не работает для страницы, вывод которой кэшируется через id, хотя, например, http://www.example.com/page/1 переписывается как http://www.example.com/myfolder/Page.aspx?id=1
Я вижу кешированную версию страницы, но не могу удалить ее из дискового кэша, так как мне нужен абсолютный виртуальный путь для работы RemoveOutputCacheItem.Я пробовал следующее:
HttpResponse.RemoveOutputCacheItem("/myfolder/Page.aspx?id=1");
HttpResponse.RemoveOutputCacheItem("/myfolder/page/1");
И много других вариантов, но, похоже, ничего не работает.
Кэшируемый ключ для URL-адреса не соответствует сохраненному ключу a2_myfolder_page.aspxHQNidV1FCDE, когдапытаясь использовать RemoveOutputCacheItem.
Есть ли какое-то решение для этого?Или другой способ удалить определенные кэшированные страницы?Спасибо