我正在开发一个Xamarin.Forms项目,而且我有一个非常奇怪的问题。这段代码实际上是在Xamarin.Droid项目中执行的。
当我尝试这样做时
var user = await client.LoginAsync(this, MobileServiceAuthenticationProvider.Facebook);
if (user != null)
{
try
{
// executes this line
var userInfo = await client.InvokeApiAsync("/.auth/me");
// down here nothing is executed and userInfo is never set with the data
}
catch (Exception e)
{
// never enter to this block
}
}
userInfo变量永远不会随数据一起设置,并且没有例外,并且输出中没有任何例外。
我已经尝试过client.InvokeApiAsync(" /。auth / me",HttpMethod.Get,null)但是没有用。
我知道这是一个非常简短的信息,但我没有别的,因为没有例外。
感谢。
答案 0 :(得分:1)
我跟着this article向我的Xamarin Forms应用添加身份验证。它在我身边工作得很好。您需要检查一些项目。
答案 1 :(得分:0)
我终于弄明白了问题是什么。启动身份验证逻辑的事件处理程序返回void
而不是Task
,因此异步调用在await
调用后永远不会继续。
这是值得提醒的。
感谢@Amor - MSFT的回答。