Windows Phone App本地存储和Azure

时间:2013-12-05 12:23:00

标签: c# azure windows-phone-8 local-storage

有关构建WP8应用程序的最佳方法有几个问题,该应用程序将通过Azure链接到云存储。

我的第一个问题是我需要在手机上存储所有记录,因为可能并不总是有可用的互联网连接。我当前的解决方案使用SQLite,我认为拥有本地数据库以及所有Azure云代码可能有些过分。或者我应该使用SQL Server CE,那样我的模型(X)类将与我在调用App.MobileService.GetTable()时Azure所需的内容相匹配.InsertAsync(record);

另一种选择是将手机上的记录保存为JSON字符串,但我需要自己管理PK,这些与Azure使用的PK不匹配。我还需要将设备ID推送到Azure,以便知道哪些设备推送了哪些记录......

我在乌干达进行现场测试我的应用程序,一个主要问题是缺乏可靠的互联网连接,我试图将记录推送到Parse(parse.com),但显然他们的“saveEventually”API尚未实施.NET,它一直在使用记录代码“OtherError”崩溃应用程序,那时就是我有3G / Wi-Fi访问权限。所以我认为我会抛弃Parse并使用像Azure这样更可靠的东西。

我不知道是否应该尝试将每条记录推送到云端,因为它们已保存在应用程序上,或者当有Wi-Fi连接可用时,等待并将其中的大量内容推送到云中。例如,每次启动应用程序时,我都可以检查是否存在Wi-Fi连接。

NetworkInterface.GetIsNetworkAvailable()是否足以确定网络连接是否可用?我的问题是,在像乌干达这样的地方,3G有时是可用的,因此应用程序会认为即使用户没有任何数据限额也存在3G连接(或类似的东西是你连接到Wi-Fi的地方)酒店,但你只能访问酒店的登录页面,应用程序可能会认为有一个有效的连接)。我想检查是否可以点击我的Azure URL并查看是否有任何响应,然后继续保存记录?

我很欣赏我的问题很模糊,但只是寻找一些关于如何解决这个问题的一般性建议。我很确定还有其他应用程序可以使用某种本地存储以及Azure用于云存储(互联网条件较差)。

1 个答案:

答案 0 :(得分:0)

HY,

我建议使用Azure和MobileServices,这对于移动应用程序至关重要,如果你想保留数据在本地选择现在为我的经验和LinqToSQL和数据库保留,那么sql lite现在还为时尚早。 。 sdf或SqlCompact,非常适合移动应用程序。