【发布时间】:2019-11-15 03:17:43
【问题描述】:
我有一个 ASP.NET MVC 控制器,它有一个返回文件并用 [HttpGet] 修饰的方法。
第一次调用时获取文件,返回前获取代码:
ControllerContext.HttpContext.Response.Cache.SetExpires(DateTime.Now.AddDays(7));
ControllerContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.Public);
ControllerContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
对该 [HttpGet] 方法的后续请求从缓存中返回文件,因此 HTTP 请求甚至无法到达该方法。
其他地方是从文件系统中删除这些文件的代码,但后续请求会从缓存中提取响应,因此仍然可以下载文件。
删除文件时如何从缓存中删除这些项目?
【问题讨论】:
标签: c# asp.net-mvc caching