Я следовал этому руководству (https://docs.microsoft.com/en-us/aspnet/core/performance/caching/response?view=aspnetcore-2.1), чтобы реализовать ResponseCache на моем действии контроллера.
Короче говоря, я добавил services.AddResponseCaching();
и app.UseResponseCaching();
в автозагрузку и этот тег [ResponseCache( Duration = 30)]
на моем контроллере.
Затем я добавил <h2>@DateTime.Now</h2>
в моем представлении, и то, что я ожидал ... было то же время datetime.now в течение 30 секунд.
Но это не так,он просто показывает новое время при каждой перезагрузке (F5).
Я убедился, что мои devtools в chrome не говорят «отключить кеш».
Это как с открытыми, так и без открытых devtools,на моем локальном компьютере, теперь пытаюсь создать совершенно новый .net core mvc project.
Одна вещь, которую я заметил (с открытым devtools), заключается в том, что запрос имеет следующий заголовок: Cache-Control: max-age=0
. Влияет ли это наповедение? Я думал, что это будет что-то значить, потому что похоже, что запрос говорит «нет кэша», но это кажется мне странным, потому что я не вставил заголовок, и я бы сказал, что поведение chrome по умолчанию не будет игнорировать кэши