我正在研究.NET 4 Winforms应用程序,我在确定处理数据库的最佳方法时遇到了问题。我们希望提供一个云数据库系统,其中应用程序可以通过WCF服务与“云”进行通信,并且基本上与连接到本地数据库(本地SQL Express,服务器上的SQL Server 2008 R2)相同。
我们看到两个选项:
1)使用WCF并对云数据库进行所有调用 2)使用本地数据库并使用Microsoft Sync Framework保持云同步
我们最终将拥有一个Web应用程序,它也将使用云数据作为用户的另一个前端。
困境显然是要使用的。如果我们使用选项1,那么我们不必在使用软件的任何地方安装SQL Express,例如公共位置,并且可以将用户的数据下载到该数据库。 WCF选项允许所有数据保持中心。
我们最终会在手机中弃牌,因此iPhone,iPad和Android也可以与云同步。
我对您对严格云数据库选项与偶尔连接选项的意见感兴趣,即数据库是本地的,同步到云。
谢谢。
答案 0 :(得分:0)
如果您想允许离线/偶尔连接方案,为什么不根据需要简单地选择选项1)和2)?如果您通过WCF使用相同的n层架构来访问数据库而不管它在哪里(云或本地数据库),您的代码将始终相同,唯一的区别是偶尔连接的应用程序将同步数据(也可能是通过WCF)。
同步与直接访问的一个问题是,它不是实时的,即其他用户将访问和更新数据,您通常必须考虑如何处理冲突等。如果没有实际需要(有时连接是主要原因)对于offine功能,我会选择1)。从上面还不清楚你要存储什么类型的数据,如果它是用户特定的以及数据的大小,但是当使用同步时,尤其是在安全性和性能方面,这些都是非常真实的问题。 / p>
如果您可以提供有关解决方案准确内容的更多信息,也可以提供帮助。