HttpResponse.RemoveOutputCacheItem не работает
У меня есть ActionResult, который кэшируется.
[OutputCache(Duration = 3600, VaryByParam = "product_Id")]
public ActionResult ProductPreview(Guid product_Id)
{
// just for testing the cache
System.Threading.Thread.Sleep(4000);
return PartialView("ProductPreview", _repository.CreateProductModel(product_Id));
}
Хорошая часть в том, что кеш работает. После первой загрузки результат отображается без задержки в 4 секунды.
Однако мне нужно очистить кеш, когда в этот продукт были внесены некоторые изменения.
Я пытался очистить кеш, делая так:
public ActionResult RemoveCache()
{
var url = Url.Action("ProductPreview", "Common");
// also tried with parameter
// var url = Url.Action("ProductPreview", "Common", new { @product_Id = "productId" });
HttpResponse.RemoveOutputCacheItem(url);
return RedirectToAction("Index");
}
Я также пытался вызвать метод RemoveCache с ajax и полным обновлением страницы, и ни один из них не работает.
Что я могу сделать? В чем проблема?