HttpResponse.RemoveOutputCacheItem no funciona
Tengo un ActionResult que se almacena en caché.
[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));
}
Lo bueno es que el caché está funcionando. Después de la primera carga, el resultado se muestra sin ningún retraso de 4 segundos.
in embargo, necesito borrar el caché cuando se hayan realizado algunos cambios en ese producto.
Intenté borrar el caché haciendo lo siguiente:
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");
}
Traté de llamar al método RemoveCache con ajax y actualización de página completa, y ninguno de ellos funciona.
¿Que puedo hacer? ¿Dónde está el problema