调用 InvokeApiAsync 移动应用程序服务
Invoking InvokeApiAsync Mobile App Services
我正在做一个 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) 但都没有用。
我知道这是很短的信息,但我没有其他信息,因为没有引发异常。
谢谢。
我按照 this article 将身份验证添加到我的 Xamarin Forms 应用程序。它在我这边工作得很好。您需要检查项目中的一些事项。
- 您是否已将 Azure 移动服务发布到 Azure 并启用身份验证并配置 Facebook 应用程序 ID 和机密。
- 您是否通过移动客户端连接了移动服务。
我终于明白问题出在哪里了。启动身份验证逻辑的事件处理程序返回 void
而不是 Task
,因此异步调用在 await
调用后不会继续。
这是一个提醒。
感谢@Amor - MSFT 的回答。
我正在做一个 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) 但都没有用。
我知道这是很短的信息,但我没有其他信息,因为没有引发异常。
谢谢。
我按照 this article 将身份验证添加到我的 Xamarin Forms 应用程序。它在我这边工作得很好。您需要检查项目中的一些事项。
- 您是否已将 Azure 移动服务发布到 Azure 并启用身份验证并配置 Facebook 应用程序 ID 和机密。
- 您是否通过移动客户端连接了移动服务。
我终于明白问题出在哪里了。启动身份验证逻辑的事件处理程序返回 void
而不是 Task
,因此异步调用在 await
调用后不会继续。
这是一个提醒。
感谢@Amor - MSFT 的回答。