首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Windows移动服务的Flighting/Versioning应用程序

带有Windows移动服务的Flighting/Versioning应用程序
EN

Stack Overflow用户
提问于 2014-12-04 08:07:58
回答 1查看 597关注 0票数 3

考虑一下,您有一个WAMS服务(我的例子中是.net后端),并且在野外有客户端移动应用程序,您想要发布v2,它包含打破模式的更改(例如,将单个表分割成两个表)。

我理解在服务器端进行分阶段,但这个问题是关于客户端版本控制的。如何处理您更新的移动应用程序在用户社区中逐渐推出的期间,以及您在野外有新老客户的组合?

我想过的办法:

  1. 使用指向新服务的新URL部署v2移动应用程序。PRO:简单客户端代码CON:两个WAMS实例的开销和跨两个db实例的同步复杂性(单个用户在不同设备上可能有不同的客户端版本,不同WAMS实例中的云数据需要保持同步,直到它们到处更新为止)。
  2. 在移动应用程序中添加版本感知功能,包含两个或多个数据模型类--一个用于当前版本,另一个用于v.next。您可以在升级服务器之前推出版本感知的客户端。支持:更简单、更便宜的服务器端管理CON:更大、更复杂的客户端代码和不更新的用户在服务器更新后被锁定在外。此外,在多个应用程序商店中的客户端应用程序审批时间线上,也会将服务器的推出日期锁定。
  3. 使用单个数据库和单个服务器实例,但通过对DTO的一些巧妙使用来支持新旧服务器版本的混合,DTO在新模式的基础上与新对象一起提供旧的有线协议。想必,我可以向服务器上的路由路径添加一个版本元素。支持:简单的客户端,没有服务器端的跨数据库同步CON:更复杂的服务器代码;如果表分开或合并,保持离线同步变得困难(可能的解决方案:并行表与代码/脚本保持同步)

选项3是我目前最喜欢的,但是是否有更好的/更好的方法来阻止.net后端服务器和支持离线同步的多平台客户端应用程序对WAMS部署的破坏?

EN

回答 1

Stack Overflow用户

发布于 2014-12-05 22:25:48

您还可以考虑使用Azure管理服务(http://azure.microsoft.com/en-us/services/api-management/)来处理版本控制。这可能对备选案文1最有用。

确实没有简单的解决方案,如果第3种方案对您的场景最好,我建议您使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27289039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档