Выбор ответа Senior ASP.NET Core обновлено

Output caching в .NET 7+

Вопрос

Чем middleware output caching (AddOutputCache, .NET 7) отличается от старого response caching?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Серверный кеш по своим политикам с инвалидацией по тегам EvictByTag. Response caching следует HTTP-семантике: учитывает Cache-Control запроса, и клиент может обойти кеш заголовком no-cache.

Варианты ответа

  1. Это то же самое, только переименованное для единообразия
  2. Серверный кеш по своим политикам с инвалидацией по тегам EvictByTagправильный ответ
  3. Только выставляет заголовок Cache-Control для браузера
  4. Работает только для статических файлов из wwwroot

Разбор

Response caching следует HTTP-семантике: учитывает Cache-Control запроса, и клиент может обойти кеш заголовком no-cache. Output caching это серверный кеш, настраиваемый политиками (CacheOutput, VaryByQuery), с защитой от одновременной генерации одинаковых ответов и инвалидацией по тегам через EvictByTagAsync. Хранилище можно вынести в Redis (.NET 8). Ни один из них не ограничен статикой.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.