我不能简单地等待GetStringAsync?

时间:2013-10-01 20:17:44

标签: c# async-await portable-class-library

我以为我可以直接做到,但也许我的设置有问题?我正在尝试在我的应用程序中下载一个用于登录的字符串:

        private async void DoLogin()
        {
            HttpClient client = new HttpClient();
            string response = await client.GetStringAsync(Config.SERVER_URL + "/Login/");

删除所有逻辑,我将添加标题等等,但VS2012将不允许我等待该响应。

我尝试按照代码from here,但在我的情况下,我只获得Cannot await 'System.Threading.Tasks.Task<string'

为什么?不应该GetStringAsync只给我一个字符串吗?它返回Task<string>,但是我必须将其包装在方法中吗?

1 个答案:

答案 0 :(得分:4)

你的代码非常好。但是:要在async / await中使用portable class libaries,您需要将NuGet包Microsoft.Bcl.Async添加到项目中。

另请注意Servy的评论,使用返回类型Task代替void