我不能等待等待?

Jas*_*n94 10 c# async-await

Visual Studio抱怨如下:

public RelayCommand SendRegistrationCommand { get; private set; }
public async void SendRegistration()
{
    HttpClient client = new HttpClient();
    var response = await client.GetStringAsync("url");

    // ... todo
}

Cannot await 'System.Threading.Tasks.Task<string>'
Run Code Online (Sandbox Code Playgroud)

我以为我之前已经这样做了,GetStringAsync是不是值得期待?

dca*_*tro 20

您可能正在瞄准.NET 4.0.

如果可以,请切换到支持async/await语义的.NET 4.5.

如果不能,请考虑使用Async Targeting Pack:https://www.nuget.org/packages/Microsoft.CompilerServices.AsyncTargetingPack

编辑

根据评论,Microsoft.Bcl.Async应该使用:https://www.nuget.org/packages/Microsoft.Bcl.Async

  • `AsyncTargetingPack`很老了; `Microsoft.Bcl.Async`是要使用的正确包. (2认同)

小智 -3

确保 client.GetStringAsync("url") 是异步任务

private async Task GetStringAsync(string str)
{
}
Run Code Online (Sandbox Code Playgroud)