【发布时间】:2012-02-07 04:32:08
【问题描述】:
ASP.Net MVC 3.
我发现了类似的问题/答案,但似乎没有一个可以解决这个问题...
类似: HttpResponse.RemoveOutputCacheItem is not working
How to "invalidate" portions of ASP.NET MVC output cache?
我正在使用 OutputCache 来缓存 FileContentResult(图像)。
我的动作是这样的:
[HttpGet]
[OutputCache(Location = OutputCacheLocation.Client, Duration = 300, VaryByParam = "id")]
public FileContentResult Photo(int id) {
byte[] photo = //GetPhoto;
return File(photo,"image/jpeg");
}
在我看来,我必须遵循:
<img src="@Url.Action("Photo", "Client", new {id = Model.Id})"/>
这工作正常,并且输出缓存按预期工作....现在问题
我正在尝试在更新后重置缓存。
更新操作中的代码如下所示:
var url = Url.Action("Photo", "Client", new {id = Model.Id});
Response.RemoveOutputCacheItem(url);
问题是缓存没有重置。调试时,找不到缓存对象在哪里(我试过System.Web.HttpContext.Current.Cache,但好像没有缓存项)。
感谢您的帮助!
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 outputcache