C# 我能';你不等待吗?
Visual Studio投诉如下:C# 我能';你不等待吗?,c#,async-await,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 aw
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>'
public RelayCommand SendRegistrationCommand{get;private set;}
公共异步void SendRegistration()
{
HttpClient=新的HttpClient();
var response=await client.GetStringAsync(“url”);
//……待办事项
}
无法等待“System.Threading.Tasks.Task”
我想我以前已经做过,GetStringAsync是不可等待的?确保client.GetStringAsync(“url”)是一个异步任务
private async Task GetStringAsync(string str)
{
}
您的目标可能是.NET4.0 如果可以,请切换到支持异步/等待语义的.NET4.5
如果不能,考虑使用异步目标包:
编辑根据评论,应该使用
Microsoft.Bcl.Async
:你能给我们展示完整的方法吗?可能它没有用async
modifier标记?@tpeczek我已经发布了您可能针对.NET 4.0的函数。您可以切换到4.5吗?GetStringAsync正在等待。您正在构建什么样的应用程序?您可能缺少一个参考,比如@Oskar Lindberg im使用可移植类库构建WP8应用程序。我的可移植类库的目标是.NET 4.5:-/AsyncTargetingPack
非常旧Microsoft.Bcl.Async
是正确的软件包。@StephenCleary谢谢你的提示,更新了我的答案。@Jason94:Microsoft.Bcl.Async
是必需的,如果你想从可移植类库中使用Async
。GetStringAsync不需要是异步的。它只需要返回任务