Asp.net core IE边缘和缓存控制
我有一个.net核心应用程序,其中我有一个带有Rest调用的API。我尝试使用缓存配置文件缓存其中一些响应。下面的代码Asp.net core IE边缘和缓存控制,asp.net-core,browser-cache,microsoft-edge,asp.net-core-webapi,Asp.net Core,Browser Cache,Microsoft Edge,Asp.net Core Webapi,我有一个.net核心应用程序,其中我有一个带有Rest调用的API。我尝试使用缓存配置文件缓存其中一些响应。下面的代码 [Route("RefreshToken")] [HttpGet] [ResponseCache(CacheProfileName = "token")] public IActionResult RefreshToken() {return "Blah"} 缓存配置文件令牌在我的启动中定义为 services.AddMvc(opti
[Route("RefreshToken")]
[HttpGet]
[ResponseCache(CacheProfileName = "token")]
public IActionResult RefreshToken()
{return "Blah"}
缓存配置文件令牌在我的启动中定义为
services.AddMvc(options =>
{
options.CacheProfiles.Add("Default",
new CacheProfile()
{
Duration = reponseCacheDuration,
Location = ResponseCacheLocation.Client,
});
options.CacheProfiles.Add("token",
new CacheProfile()
{
Duration = (tokenExpirationMinutes - 1) * 60,
Location = ResponseCacheLocation.Client
});}
我遇到的问题是,当我查看IE和Chrome中的网络流量时,IE由于某种原因无法从缓存中获取值。下面是IE Edge中的网络流量(我确实将“始终从服务器刷新”设置为off)
这是Chrome的网络流量
您可以看到,Chrome每次都从磁盘缓存中提取值,而IE每次都从服务器中提取值。我使用IE Edge
另外,来自RehreshToken rest调用的响应头是
为什么IE没有进入缓存。该应用程序在IE中速度非常慢,因为每次请求都会转到服务器。这里的任何帮助都是感激的 我一直在寻找问题的真正原因,那就是IE(和Edge)没有缓存文件,我发现IE开发工具有一个默认启用的“总是从服务器刷新”选项。您必须关闭此选项才能在devtools中监视缓存的发生。只需按f12键,然后转到“网络”选项卡,并在工具箱中找到标题为“始终从服务器刷新”的第四个按钮 我希望有帮助
Juan要查看图像,请单击链接并将https更改为http!该选项在上设置为false,即当开发工具关闭,但每次仍在服务器上点击我的记录器,且未从缓存(本地缓存)中获取任何内容时,我仔细检查