Asp.net mvc RemoveOutputCacheItem在ASP.Net MVC中的Html.RenderAction Don网络中
缓存此操作时,我有一个actionResult,此项已缓存Asp.net mvc RemoveOutputCacheItem在ASP.Net MVC中的Html.RenderAction Don网络中,asp.net-mvc,caching,Asp.net Mvc,Caching,缓存此操作时,我有一个actionResult,此项已缓存 [OutputCache(Duration = 60)] public ActionResult LoadMenu() { var dbContext = new DataContext(); var menus = dbContext.menues.Include(x => x.Page).Where(x => x.Type == (int)EnumCodes.menuType.is
[OutputCache(Duration = 60)]
public ActionResult LoadMenu()
{
var dbContext = new DataContext();
var menus = dbContext.menues.Include(x => x.Page).Where(x => x.Type == (int)EnumCodes.menuType.isHeader && x.Status == (int)EnumCodes.menuStatus.active).OrderBy(x => x.priority).ThenBy(x => x.Name).ToArray();
return View(menus);
}
当我为此操作使用RemoveOutputCacheItem时
Response.RemoveOutputCacheItem(Url.Action("LoadMenu", "Menu"));
并在已删除缓存的视图中查看此操作。
但当在其他视图中通过Html.RenderAction使用此操作时,cach仍然存在。
为什么保留缓存?但是如果该操作是从另一个视图呈现的,则输出缓存的URL不同,因此没有缓存任何内容?不要紧,此操作是缓存的