我正在寻找一个缓存过滤器,可以在执行某些操作时将其删除。 假设
我有索引操作,它正在加载记录并使用过滤器缓存一分钟。 只要我调用Index,就必须缓存操作并且不会访问db。
一旦我在Create动作中创建了一个记录,它就应该删除缓存,从而加载来自DB的记录。
有没有解决方案。 我在Ninject web示例中找到了一个,如下所示。我正在寻找相同的解决方案。
[Cache(0, 0, 5, 0)]
public ActionResult Index()
{
//Code here....
}
[HttpPost]
[ClearCacheOnSuccess("Index")]
public ActionResult Create(string confirmButton, CreateViewModel userVm)
{
//Code here...
}
答案 0 :(得分:0)
根据缓存的持久位置(服务器或客户端),您可以使用RemoveOutputCacheItem方法:
var urlToRemove = Url.Action("Index", "Home");
Response.RemoveOutputCacheItem(urlToRemove);