Вызов Akavache синхронно вызывает тупик
Я пытаюсь использовать Акаваче BlobCache.InMemory.GetOrCreateObject
чтобы добавить кеширование в одну из моих таблиц базы данных, когда я вызываю ее асинхронно, все в порядке. Но так как async требует, чтобы вызывающий абонент также изменил на async, и есть много мест, которые нужно изменить, поэтому я решил позвонить BlobCache.InMemory.GetOrCreateObject
синхронно вместо этого, делая что-то вроде ниже
public async Task<List<T>> GetAllDataAsync() => await BlobCache.InMemory.GetOrCreateObject(...);
public List<T> GetAllData() => GetAllDataAsync().Result;
Это приведет к тупику. Что я сделал не так?
Edit1: этот код выполняется в веб-API ASP.NET
1 ответ
Akavache предназначен для мобильных и настольных приложений и будет очень плохо работать в серверной среде. Используйте Redis или memcached.