Angularjs Web SQL数据库与服务器数据库的同步

Angularjs Web SQL数据库与服务器数据库的同步,angularjs,asp.net-web-api,synchronization,web-sql,Angularjs,Asp.net Web Api,Synchronization,Web Sql,我们正在构建一个基于AngularJS作为客户端和MVC4WebAPI作为服务器端的web系统。主要要求之一是,在AngularJS客户端,一旦用户会话经过身份验证,用户就应该能够在脱机模式下使用应用程序。为此,我们决定在客户端使用WebSQL数据库,在用户脱机时缓存所有用户操作。一旦他上线,所有数据将与服务器数据库同步。我们计划使用时间戳机制来确保所有数据正确同步 但同步必须以两种方式完成,从本地数据库到服务器数据库(这将在用户联机时发生),以及从服务器到本地数据库,始终是在服务器上的数据发生

我们正在构建一个基于AngularJS作为客户端和MVC4WebAPI作为服务器端的web系统。主要要求之一是,在AngularJS客户端,一旦用户会话经过身份验证,用户就应该能够在脱机模式下使用应用程序。为此,我们决定在客户端使用WebSQL数据库,在用户脱机时缓存所有用户操作。一旦他上线,所有数据将与服务器数据库同步。我们计划使用时间戳机制来确保所有数据正确同步

但同步必须以两种方式完成,从本地数据库到服务器数据库(这将在用户联机时发生),以及从服务器到本地数据库,始终是在服务器上的数据发生更改时。问题是:服务器告诉web浏览器数据已更改的最有效方式是什么?


SignalR看起来是一个不错的解决方案,但它需要使用JQuery,而且由于我们在客户端使用AngularJS,所以这不是一个好主意。对于这个需求,还有其他一些可能的机制吗?

我们有一个轻量级的jquery:jqlite。但是对于边缘情况,比如使用jquery插件,您可以完全在angularjs中加载jquery,angularjs将自动使用il而不是jqlite。