【发布时间】:2017-08-19 07:06:59
【问题描述】:
我正在使用带有 Microsoft.Extensions.Caching.Redis 2.0 的 .NET Core 2.0。为什么 IDistributedCache.SetStringAsync 实际上没有标记为异步,因此不可等待?
var services = new ServiceCollection();
services.AddDistributedRedisCache(options =>
{
options.Configuration = "127.0.0.1";
options.InstanceName = "master";
});
var provider = services.BuildServiceProvider();
var cache = provider.GetService<IDistributedCache>();
// Does not compile
await cache.SetStringAsync("mykey", "myvalue");
【问题讨论】:
-
看起来接口
IDistributedCache没有那个方法:github.com/aspnet/Caching/blob/dev/src/… -
...但是您可以使用此扩展名github.com/aspnet/Caching/blob/dev/src/… 来做到这一点...编译器错误说明了什么?正在等待的方法是否标有异步?
-
你是从异步方法调用 SetStringAsync 吗?
-
是的,这是我的愚蠢错误!问题是我的方法应该是异步的,而不是 SetStringAsync
标签: c# async-await