Вызов 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.

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