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 и полным обновлением страницы, и ни один из них не работает.

Что я могу сделать? В чем проблема?

Ответы на вопрос(1)

Ваш ответ на вопрос