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
Печенье: блаблабла