我正在创建一个桌面应用程序,用户希望在我要创建的网站上在线查看应用程序中的信息。
问题是我的应用程序使用SQL Server Compact作为数据库。我真的需要有关如何创建可以从本地桌面应用程序获取数据的Web服务的帮助。用户(也就是应用程序的管理员)也应该能够从可能影响应用程序的网站进行更改。他们还希望从网站上的应用程序中查看库存,联系方式等信息。
我创建了桌面应用程序,但不知道如何创建Web应用程序/服务或将本地数据库同步到在线应用程序。
答案 0 :(得分:1)
首先,真的是否需要拥有本地数据库并使其与在线数据库保持同步?据我所知,你将开发它们,这样你就可以掌控了。因此,我在这里看到的第一个逻辑步骤是创建REST API [1,2,3]并提供端点,以便从在线数据库读取和写入。例如,如果您想构建一个简单的API来注册和登录用户,它应该具有这些端点(操作):
因此,您可以注册新用户,查看其个人资料中的数据并能够更新,当然还有登录和注销。
现在,您的在线和桌面应用程序都可以成为API的客户端。您可以在其中一个产品中添加,编辑和删除产品,更改也会显示在另一个产品中。当然我在这里做了一些假设(不需要实时更新,桌面客户端可以有始终在连接,响应有效负载的大小不是很大等等。)
如果您还需要本地数据库,则可以在要同步的表中添加 updatedAt 字段,以便 desktop 应用程序可以查询API仅获取在给定日期之后生成的更改,减少API响应的有效负载(以及使用的带宽,如果这很重要)。无论如何,我认为这一步是对真正问题的优化,因此在仔细考虑API和客户之后,您可能只考虑所有这些(拥有本地数据库,跟踪更改并同步......)第一。回答以下问题可能有助于您做出有意识的决定:
如果答案少于100个用户和数千条记录,您可能不必担心同步。但是,我们只能帮助您了解有关系统要求的更多信息。
参考文献: