win 8/10通用应用程序的存储选项?

问题描述:

假设我想开发一个Win 8/10通用应用程序,例如日历,用户有两个设备平板电脑/手机。win 8/10通用应用程序的存储选项?

我的日历如何共享本地SQL数据库?

我不想维护或管理Azure服务或任何其他远程数据库服务,例如AWS,运行SQL Express等的VPS。这对于这样的基本场景来说是过分的。

我已经考虑过SQLite并将DB文件转储到用户MS OneDrive文件夹中,但正如我们所知,这可能会导致同步/锁定问题。

因此,使用纯粹自包含的&免费模型,我的两个设备如何共享此基本SQL数据?

+0

不幸的是,您必须在使用服务器端数据库(单一事实来源)或您尝试和同步多个客户端数据库(冲突的可能性)之间进行选择。中间没有任何东西。 –

如果数据库很小,可以将其保存在RoamingFolder中,让Windows负责将其复制到其他系统。

参见Quickstart: Roaming app data

除此之外存储在云服务的数据,诸如Azure Mobile App Service是最简单的和干净的解决方案。如果您需要同时支持联机和脱机方案,则Azure移动服务支持offline sync to SQLite

将应用程序数据保存在用户的OneDrive或Dropbox中,然后明确下载使用是可能的,但是由于数据对用户可见并且可能被意外删除,移动等,所以更困难和更肮脏。对于个人应用程序它不坏,但我不会在生产中这样做。

如果您要在系统之间复制数据库(通过漫游或通过数据存储站点),您需要设计一种处理冲突的方法。如果所有内容都保存在单个云数据库中,这会更简单。

+0

谢谢,这种情况只能用一个真正矫枉过正的天蓝色解决方案解决。我通过服务商业模式获得了MSFT的发展方向。想想现在我可以使用运行SQL的VPS并创建一个API,我可以更有效地控制成本。 – LenPopLilly

+0

漫游应用数据看起来不错,但正如你所说的它的小,它的100KB!哇,那很小。公平地说它的设置不适合于数据库。 – LenPopLilly