【发布时间】:2012-02-07 15:57:20
【问题描述】:
我开始为我的网站使用 OutputCache。 我遇到的问题是,当用户更新一个项目时,我需要重置该项目的缓存。
我是这样做的:
var urlToRemove = Url.Action("Details", "Dress", new {id = model.Id});
Response.RemoveOutputCacheItem(urlToRemove);
在编辑操作中,我还将更新成功消息设置为 TempData,并在下一个请求中显示它。问题是消息保留在缓存的响应中。
您知道如何避免在操作中进行缓存吗?比如:
[OutputCache(Duration = 3600, VaryByParam = "id")]
public ViewResult Details(int id)
{
if(NotificationHelper.HasNotifications)
Response.DoNotCache();
.....
我不能使用相同的技巧......因为页面在呈现后被添加到缓存中。所以我不能从缓存中排除一个动作。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 caching outputcache