Вышеупомянутые параметры являются точными, если вы знаете, на каких страницах вы хотите очистить кеш. В моем экземпляре (ASP.NET MVC) я ссылался на одни и те же данные со всего. Поэтому, когда я сделал [save], я хотел очистить кеш-сайт. Это то, что сработало для меня: http://aspalliance.com/668
Это делается в контексте фильтра OnActionExecuting. Это можно было бы легко сделать, переопределив OnActionExecuting в BaseController или что-то в этом роде.
HttpContextBase httpContext = filterContext.HttpContext;
httpContext.Response.AddCacheItemDependency("Pages");
Установка:
protected void Application_Start()
{
HttpRuntime.Cache.Insert("Pages", DateTime.Now);
}
Minor Tweak: У меня есть помощник, который добавляет "быстрые сообщения" (сообщения об ошибках, сообщения об успешной работе - "Этот пункт был успешно сохранен", и т.д.). Чтобы избежать появления флэш-сообщения на каждом последующем GET, мне пришлось аннулировать его после записи флэш-сообщения.
Клиринговых кэша:
HttpRuntime.Cache.Insert("Pages", DateTime.Now);
Надеется, что это помогает.
Кто-нибудь знает, если что-то подобное доступно для классического ASP? – Brettski 2008-09-22 15:50:28
Я не думаю, что кеширование доступно в ASP, поэтому не жаль. – GateKiller 2010-12-08 16:04:46
Это очищает все кеши для каждого параметра для этой страницы. – Salim 2015-11-26 10:55:16