Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core IE边缘和缓存控制_Asp.net Core_Browser Cache_Microsoft Edge_Asp.net Core Webapi - Fatal编程技术网

Asp.net core IE边缘和缓存控制

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

我有一个.net核心应用程序,其中我有一个带有Rest调用的API。我尝试使用缓存配置文件缓存其中一些响应。下面的代码

    [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,即当开发工具关闭,但每次仍在服务器上点击我的记录器,且未从缓存(本地缓存)中获取任何内容时,我仔细检查