Azure>应用服务>移动应用>离线同步不适用于我的Android(Xamarin.Forms)

时间:2016-02-23 16:53:56

标签: sqlite azure xamarin azure-mobile-services

我目前正在努力获取Azure>应用服务>移动应用>脱机同步正在运行 在我目前的实验中,我试图严格遵循指示。

所以我做了如下:

迭代1

  • 在Azure上定义了应用服务(使用新的数据库等)
  • 下载快速入门C#后端VS解决方案
  • 下载快速入门Xamarin.Forms应用程序
  • 将Xamarin.Forms PCL和Droid项目集成到第一个解决方案中

=>测试:TodoList App按预期工作。太酷了!

迭代2

  • 将OFFLINE_SYNC_ENABLED添加到"条件编译符号"到项目属性
  • 在我的Nexus 5(Android 6.0 - API 23)
  • 上再次运行应用程序

=>拉异步被称为......但没有任何反应。因此,我的Azure DB中存储的todoItem不会出现。

我发现的唯一或多或少有趣的日志是这一行: 02-23 09:39:55.280 I / mono-stdout(25706):无效的同步操作:请求无法完成。 (错误请求)

我无法通过提琴手识别任何流量。

对我而言,天蓝色的模板看起来不会起作用......

我做错了吗?你有什么建议吗?

非常感谢!

其他事实:

现在我在Log Stream中找到了一些有趣的东西:

https://offlinecheck1.azurewebsites.net/tables/TodoItem?$ filter =(__ updatedAt ge datetimeoffset' 1970-01-01T00:00:00.0000000%2B00:00')& $ orderby = __ updatedAt& $ skip = 0& $ top = 50&安培; __ includeDeleted =真安培; __ systemproperties = __ updatedAt%2C__version%2C__deleted

此请求不适用于PostMan eather。

如果我通过删除" __"来填充此网址。在__updated的2个第一个货币之前,我收到了预期的记录。

构建网址的组件是否有问题?

1 个答案:

答案 0 :(得分:1)

您好像使用的是Mobile客户端SDK和服务器SDK的不兼容版本。您应该使用Microsoft.Azure.Mobile.Client WindowsAzure.MobileServices。

有关详细信息,请参阅Client and server SDK versioning

仅供参考,移动服务和移动应用之间的变化是,现在系统属性没有双下划线前缀。这在Upgrade from Mobile Services文章中有记录。

以下是适用于移动应用的Xamarin.Forms离线同步示例的完整版本:Xamarin.Forms offline sync todo list