我们已经构建了一个连接到ASP.net Web-API 2的简单移动应用程序。 我们希望Microsoft client SDK支持offline sync。 既然Azure Mobile Apps支持自定义身份验证,我们实际上可以实现这一目标。
我想知道离线同步SDK 绝对是否要求我们使用Azure移动应用或Azure移动服务。
Microsoft文档中充满了操作指南,但没有解释底层会发生什么。我能理解的最好的,都只是OData rest API和文档的招摇。
答案 0 :(得分:2)
弗拉基米尔·,
在OData之上,为了支持软删除,脱机同步等功能,Azure Mobile Client SDK要求服务器实现某种协议。所以尽管你的问题的答案是:
[同步SDK]绝对要求我们使用Azure移动应用吗?
... no ,理论上,您可以实现自己的API,但我建议不要这样做,因为(除其他原因外)即使您设法实现预期的约定和行为,如果您需要升级客户端SDK以利用错误修复和/或新功能,这将成为未来的维护挑战。
好消息是,使用最新版本的Azure移动应用服务器SDK,将移动功能添加到现有的ASP.NET Web API应用程序是微不足道的,您应该能够启用您正在寻找的方案通过添加适当的表控制器。因此,您可以增强现有应用程序,而无需自己开发和维护Azure Mobile Apps特定逻辑。
关于你的上一个问题,既然两者都是客户端和服务器SDK都是开源的并且是开放式开发的,你可以在这里看看是什么让魔术发生:
https://github.com/Azure/azure-mobile-apps-net-server
https://github.com/Azure/azure-mobile-apps-net-client
我希望这有帮助!
答案 1 :(得分:1)
第一个问题的答案:是的,SDK可用于您拥有的任何服务器API,因为它将成为您使用Azure移动服务的入口点。
Azure Mobile应用程序创建一个移动服务实例,该实例具有推送通知和SQL表,用于存储您要发送的所有邮件,并具有根据需要自定义邮件的功能。此外,它还创建了一个通知中心实例,用于管理所有移动平台的通知。 Azure移动应用程序通过设备上的数据库与服务器之间的本地同步服务提供脱机功能。
随意提出更多问题,以全面了解移动应用的运作方式。
希望这有帮助。