C# 在WPF中使用asynctargetingpack和webclient

C# 在WPF中使用asynctargetingpack和webclient,c#,wpf,asynchronous,.net-4.0,C#,Wpf,Asynchronous,.net 4.0,我正在使用vs2012和.net 4.0创建一个示例应用程序,并尝试使用.net 4的BCL portability pack。 我有以下代码 WebClient client = new WebClient(); string result = await client.DownloadStringAsync(new Uri("some uri")); 我的印象是,这应该是可行的,但我得到以下错误 “不能等待‘无效’” 我错过了什么 感谢您的帮助您调用的方法返回void,并且是事件驱动的。。

我正在使用vs2012和.net 4.0创建一个示例应用程序,并尝试使用.net 4的BCL portability pack。 我有以下代码

WebClient client = new WebClient();
string result = await client.DownloadStringAsync(new Uri("some uri"));
我的印象是,这应该是可行的,但我得到以下错误 “不能等待‘无效’”

我错过了什么


感谢您的帮助

您调用的方法返回
void
,并且是事件驱动的。。。这使得它与
await
(请参阅)不兼容


您可以实现事件(不使用
await
或使用您使用的事件,该事件设计为与
await

一起使用。另一种说法是
DownloadStringAsync
是,而
downloadstringtaskaync
是,只有TAP方法直接与<代码> Aycy <代码>等待<代码>。谢谢回复。所以,我必须使用TaskFuleTyOnSo源并创建一个扩展方法,这样我就可以使用异步和等待。考虑使用HTTP客户端库NuGet包(微软.NET.HTTP)中的HTTPclient类。