Моя команда реализует аналогичную стратегию кэширования на контроллере API, используя настраиваемый атрибут фильтра действий для обработки логики кэширования c. См. здесь для получения дополнительной информации о фильтрах действий.
Метод OnActionExecuting
фильтра действий выполняется до вашего метода контроллера, поэтому вы можете проверить, кэшируются ли искомые данные, которые вы ищете. и вернуть его прямо отсюда, минуя вызов к стороннему источнику данных, когда существуют кэшированные данные. Мы также используем этот метод для проверки типа запроса и сброса кэша при обновлении и удалении, но похоже, что вы не будете изменять данные.
Метод OnActionExecuted
фильтра действия запускается сразу ПОСЛЕ вашего контроллера метод logi c, дающий вам возможность кэшировать объект ответа перед его возвратом клиенту.
Сложнее дать ответ о том, как реализовать фактическое кэширование, но Microsoft предоставляет некоторые варианты для кэширования в памяти. NET Core (см. MemoryCache.Default недоступно в. NET Core? )