Azure移动应用程序 - 仅在.NET上

时间:2016-11-18 16:17:19

标签: vb.net azure azure-web-app-service

编辑:

截至2017年3月21日,即使从Azure客户端SDK版本2升级到3.0.1,这仍然是一个问题。所以...碰撞。

我有一个带有自定义身份验证的Azure移动应用。我正在开发iOS客户端和Windows客户端(VB.NET WinForms)。

在iOS上,一切正常。注册和登录工作,以及标准的API调用。

在WinForms上,所有部分都可以正常工作,而不是我想要的时间和方式(例如,并非所有时间)。

  • 注册工作。
  • 登录有效。
  • 标准API调用有效。

在登录事件之后标准API调用是什么不起作用。

我在我的API代码中添加了console.log()行,并且在所有情况下,它都会在res.json()完成调用之前到达行。

以下是我如何将用户分配到iOS中的客户端:

NSString *token     = dict[@"token"];
NSString *userId    = dict[@"userId"];
MSUser *user        = [[MSUser alloc] initWithUserId:userId];
[user setMobileServiceAuthenticationToken:token];    
client.currentUser  = user;

以下是我如何在VB.NET中将用户分配给客户端:

Dim token = result.Item("token")
Dim userId = result.Item("userId")
Dim user As New MobileServiceUser(userId)
user.MobileServiceAuthenticationToken = token
MobileService.CurrentUser = user

因此,标准工作流程如下:

  1. 用户登录
  2. 程序调用标准API方法
  3. 在iOS上,这完美无瑕。我在API输出上看到了日志条目,它立即将正确的信息返回给iOS应用程序。

    在Windows.NET上,存在以下两种情况:

    1. 如果我跳过登录过程,只需调用标准API方法(已设置为访问"anonymous"),就可以了。
    2. 如果我强制登录过程,然后调用标准API方法,代码就会永远挂起。日志条目 显示在API输出上,但在.NET调试器上等待几分钟不会产生输出,也不会显示错误消息。它只是(显然)无限期地悬挂着。
    3. 所以,据我所知,以下陈述适用:

      1. 无论在哪个平台上调用代码,API代码似乎每次都以相同的方式运行。
      2. iOS代码似乎运行正常。
      3. 在任一平台上登录似乎总是正常。
      4. 如果* .json权限为"anonymous"并且未尝试登录,则.NET代码可以正常运行。
      5. 如果在登录后发送标准API调用,则.NET代码会中断(即无限期挂起)。
      6. 这似乎与MobileServiceClient方法中LoginWithResult发生的事情有关。但是,从我所看到的,它在iOS和Windows上都是 EXACT 相同的代码(有效)。

        有人看到我的思考或代码存在缺陷吗?

0 个答案:

没有答案