如何删除输出缓存儿童行动(MVC3)(How to remove output cache for

2019-09-23 02:15发布

我试试这个代码

public ActionResult RemoveCache(Guid product_Id)  
{  
    var url = Url.Action("ProductPreview", "Common", new { product_Id = product_Id });  
    HttpResponse.RemoveOutputCacheItem(url);  
    return RedirectToAction("Index");  
}  

除去对孩子行为的输出缓存,但它不工作。 请帮帮我,谢谢!

Answer 1:

:在使用MVCDonutCaching NuGet包http://mvcdonutcaching.codeplex.com/

请参阅标题为“使用”的部分: http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3

从缓存中删除项目。 有一个PARAM Html.Action重载您添加到强制甜甜圈洞(从而排除缓存)

@Html.Action("Login", "Account", true)

上面的真正意思是“不缓存这个孩子动作 - 创建一个甜甜圈洞”



Answer 2:

如果被接受,以清除输出缓存ALL享有一定的行动,这里是一个办法:

OutputCacheAttribute.ChildActionCache = new MemoryCache("NewRandomStringNameToClearTheCache"); 

NewRandomStringNameToClearTheCache应该是一个随机字符串。

资料来源参考文献: http://dotnet.dzone.com/articles/programmatically-clearing-0



文章来源: How to remove output cache for child action (MVC3)