Asp.net MVC Core 2.1 не работает кэширование ответов

Используя visual studio 2017, я создал ядро ​​mvc 2.1 приложения asp.net и добавил кеширование ответов.

В Index.cshtml добавлено

@DateTime.Now.ToString()

Когда я запускаю приложение в браузере, если я перезагружаю страницу, время вывода будет меняться при каждом обновлении вместо кэширования 10000 секунд, как указано в коде.

Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
//other code
    services.AddResponseCaching();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//other code
    app.UseResponseCaching();
}

Индекс действия:

[ResponseCache(Duration = 10000, Location = ResponseCacheLocation.Any, VaryByQueryKeys = new string[] {"id"})]
public IActionResult Index()
{
    // fetch data from database
}

Когда я проверяю заголовок ответа:

контроль кэша: общедоступный,max-age=10000

Но, тем не менее, при обновлении вывод меняется каждый раз.

Любой совет приветствуется.

Редактировать: если я использую другой браузер, чтобы открыть ссылку, я могу получить кэшированную копию. Однако, если я нажму F5 для обновления, я получу обновленное время.

Второй (обновленный F5) заголовок запроса:

GET / HTTP / 1.1

Хост: example.com

Подключение: keep-alive

Cache-Control: max-age = 0

Обновление небезопасных запросов: 1

Пользователь-агент: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/71.0.3578.98 Safari/537.36

Принять: текст / html, приложение /xhtml+xml, приложение /xml;q=0,9, изображение /webp, изображение / apng,/; q = 0,8

Реферер: https://example.com/

Accept-Encoding: gzip, deflate, br

Accept-Language: en-US, en; q = 0,9,zh-CN;q=0,8,zh;q=0,7,ja;q=0,6

Печенье: блаблабла

0 ответов

Другие вопросы по тегам