-2

我正在尝试使用 AkavacheBlobCache.InMemory.GetOrCreateObject将缓存添加到我的一个数据库表中,当我异步调用它时,一切都很好。但是由于 async 也需要调用者更改为 async 并且有很多地方需要更改,所以我选择BlobCache.InMemory.GetOrCreateObject同步调用而不是通过执行以下操作

public async Task<List<T>> GetAllDataAsync() => await BlobCache.InMemory.GetOrCreateObject(...);
public List<T> GetAllData() => GetAllDataAsync().Result;

这会导致死锁。我做错了什么?

Edit1:此代码在 ASP.NET Web API 中运行

4

1 回答 1

2

Akavache 专为移动和桌面应用程序而设计,在服务器环境中性能很差。使用 Redis 或 memcached。

于 2017-11-23T18:54:45.540 回答