dotnet core mvc memoryCache.Get возвращает асинхронный ответ?

Я использую.net ядро ​​MVC 2.1. Я пытаюсь использовать метод ImemoryCache Get

Я посмотрел на ответ метода Get и кажется его асинхронным. Он возвращает объект и не позволяет мне также поставить obj.Result.

Когда я вижу документацию Нет, где в образце ответ асинхронный.

Почему я получаю эту проблему?

1 ответ

Потому что данные в памяти Task<List<ApplicationConfigurationKeyPairModel>> но согласно вашему коду, вы хотите получить его как IList<ApplicationConfigurationKeyPairModel> без преобразования из значения задачи в нормальное значение.

Так что, если вы хотите получить его без ошибок, вы должны сделать это так:

var allSettings = _memoryCache.TryGetValue(UtilityHelper.APPLICATION_SETTINGS_ALL, out var value);

Тогда вы можете проверить, какой тип value и преобразовать его в список с помощью value.Result,

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