我在我的 asp.net 核心 web api 中设置了一个缓存配置文件,如下所示:
services.AddMvc(options => {
// Cache profile for lookup data will expire every 15 minutes.
options.CacheProfiles.Add("LookupData", new CacheProfile() { Duration = 15 });
});
我在“lookupsController”的顶部使用了这个属性,因为每个方法中返回的信息列表不会定期更改(尽管缓存每 15 分钟自动过期)。
[ResponseCache(CacheProfileName = "LookupData")]
[Produces("application/json")]
[Route("api/Lookups")]
public class LookupsController : Controller
{
...
}
我有另一个管理控制器,它可以允许用户在查找控制器列表中添加和删除项目,这不会经常发生,但是当它发生时,我想以编程方式强制缓存配置文件重置并强制后续的网络请求获取最新的,而不是保留现在过时的缓存数据列表。
如何以编程方式实现缓存的重置?- 然后我可以将此代码添加到我的管理控制器方法中,以强制重置缓存。以前有人必须这样做吗?