Visual Studio 11(Metro)中的Magento SOAP C#登录问题

我正在尝试构建一个可以从Magento安装中获取产品的Metro应用程序.

当我到达Visual Studio 2010中的登录部分时,它可以正常工作:

string sessionId = proxy.login("user", "pass");

但是,当我在Visual Studio 11中尝试相同的代码时,它不会给我登录选项,而是loginAsync,如下所示:

string sessionId = proxy.loginAsync("user", "pass");

如果我使用此选项(具有常规“登录”的有效参数),VS11会给我这个错误:

Cannot implicitly convert type
‘System.Threading.Tasks.Task’ to
‘string’

任何帮助将不胜感激!谢谢.

最佳答案 尝试使用await修饰符

loginResponse sessionId = await proxy.loginAsync("user", "pass");

编辑

看起来你正在使用的许多API已经从同步变为异步.异步版本将作为Task< string>返回而不是简单的字符串.每当发生这种情况时,您就有两个选项可以获取如何从任务< T>中获取字符串或任何数据.

>对表达式使用await.这是非阻塞的
>打电话.结果完成任务.这是阻止

点赞