使用xamarin表单和Azure SQL数据库的移动应用程序

时间:2017-10-25 17:43:09

标签: c# xamarin.forms azure-sql-database azure-mobile-services

我已经使用Xamarin表单构建了一个移动应用程序,我的应用程序可以正常工作3天,即它从Azure数据库中提取我想要的数据,但是在第4天它只提取1个项目,即使有很多。知道是什么导致了问题。无论是Xamarin部件还是数据库部件,我都很困惑。

2 个答案:

答案 0 :(得分:0)

  

我已经使用Xamarin表单构建了一个移动应用程序,我的应用程序可以正常工作3天,即它从Azure数据库中提取我想要的数据,但是在第4天它只提取1个项目,即使有很多。

AFAIK,在使用离线同步时,您可以在不传递查询ID的情况下调用PullAsync,然后从远程表中检索所有记录。如果您具体使用查询ID,则移动SDK将执行增量同步。有关详细信息,请参阅here

我建议您在移动客户端中提取数据时使用fiddler来捕获网络跟踪。此外,您可以通过邮递员或浏览器调用Http表API,以便从远程表中检索数据,如下所示,以缩小此问题:

Get https://{your-appname}.azurewebsites.net/tables/{table-name}?ZUMO-API-VERSION=2.0.0

注意:如果您启用了身份验证,则在调用x-zumo-auth进行日志记录后,需要通过MobileServiceClient.CurrentUser.MobileServiceAuthenticationToken指定值MobileServiceClient.LoginAsync标头。此外,单个GET操作的最大页面大小最多为50个。

此外,您需要确保远程表记录未标记为已删除。如果您仍然无法找到此问题,则可以使用代码段更新您的问题,以便在调用pull操作时提取数据和详细的网络跟踪。

以下是一些有用的教程,您可以参考它们:

30 DAYS OF ZUMO.V2 (AZURE MOBILE APPS): DAY 13 – THE HTTP TABLE INTERFACE

Chapter 3 - Data Access and Offline Sync

答案 1 :(得分:-1)

建议的连接数据库的方法是使用API​​来管理与数据库的交互。移动应用程序应该使用该API。尝试使用.NET API。这应该可以解决这个问题。

如果您希望应用程序也脱机运行,您可以使用API​​检索数据,然后使用SQLLite,Realm或Azure Easy Table在本地存储它。 Azure Easy Table是最简单的方法。 Realm正在获得大量采用。

希望这有帮助。