Javascript ASP NET核心-以编程方式清除响应缓存
我有一个控制器动作,它呈现一个局部视图,该视图异步地从数据库中获取一些数据。假设这些是菜单项Javascript ASP NET核心-以编程方式清除响应缓存,javascript,asp.net-core,caching,Javascript,Asp.net Core,Caching,我有一个控制器动作,它呈现一个局部视图,该视图异步地从数据库中获取一些数据。假设这些是菜单项 [Route("SomeData")] [ResponseCache(Duration = 1000 * 60 * 60)] public IActionResult SomeData() { //returns a partial view for my ajax call } 数据不会经常更改,但用户可能会做
[Route("SomeData")]
[ResponseCache(Duration = 1000 * 60 * 60)]
public IActionResult SomeData()
{
//returns a partial view for my ajax call
}
数据不会经常更改,但用户可能会做一些事情,并知道这会导致局部视图发生更改,即应显示新的菜单项
但是,对于缓存响应,数据不会从DB加载。我想在页面上添加一个“刷新”按钮,以便用户可以明确地清除所有缓存
我尝试用javascript执行window.reload(true)
和此回复一样,但在这两种情况下都不起作用
我需要与在Chrome中单击Ctrl+Refresh按钮相同的行为
Cheers通过响应中的头缓存在客户端上,您无法“清除”它。作为一种解决方法,您可以首先在客户端设置一个合适的响应缓存的最大年龄,然后使用
VaryByHeader
或VaryByQueryKeys
,每次要刷新缓存时,您应该为标头/查询字符串提供不同的值: