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

mobile application using xamarin forms and Azure SQL Database

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

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

如果您希望您的应用程序也可以离线运行,您可以使用 API 检索数据,然后使用 SQLLite、Realm 或 Azure Easy Table 将其存储在本地。 Azure Easy Table is the easiest way to do it. Realm 正在获得大量采用。

希望对您有所帮助。

I have built a mobile application using Xamarin forms and my application works fine for 3 days i.e it pulls the data from Azure database exactly how I wanted but on 4th day it only pulls 1 item even though there are many.

据我所知,当使用离线同步时,您可以在不传递查询 ID 的情况下调用 PullAsync,然后将从您的远程 table 检索所有记录。如果您指定查询 ID,则移动 SDK 将执行增量同步。详情请参考here.

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

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

注意:如果启用鉴权,需要在调用后通过MobileServiceClient.CurrentUser.MobileServiceAuthenticationToken指定x-zumo-authheader的值MobileServiceClient.LoginAsync 用于日志记录。此外,单个 GET 操作的最大页面大小可达 50。

此外,您需要确保您的远程 table 记录没有被标记为已删除。如果您仍然无法定位此问题,您可以使用代码片段更新您的问题以在调用拉操作时拉取数据和详细的网络跟踪。

这里有一些有用的教程,你可以参考一下:

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

Chapter 3 - Data Access and Offline Sync