- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑到您有一个 WAMS 服务(在我的例子中是 .net 后端)和客户端移动应用程序,并且您想要发布 v2,其中包含破坏性的架构更改(例如将单个表拆分为两个表).
我了解在服务器端暂存,但这个问题是关于客户端版本控制的。在您更新的移动应用程序逐渐在用户社区中推出并且您的新老客户混杂的这段时间里,您该如何应对?
我想到的方法:
使用指向新服务的新 URL 部署 v2 移动应用程序。优点:简单的客户端代码 缺点:两个 WAMS 实例的开销和跨两个数据库实例同步的复杂性(单个用户可能在不同的设备上有不同的客户端版本,并且他们在不同 WAMS 实例中的云数据需要保持同步,直到它们在所有地方更新).
使用两组或更多组数据模型类将版本感知添加到移动应用程序中 - 一组用于当前版本,一组用于 v.next。在升级服务器之前推出版本感知客户端。优点:更简单、更便宜的服务器端管理 缺点:更大、更复杂的客户端代码和不更新的用户在服务器更新后被锁定。此外,根据多个应用商店中的客户端应用批准时间表来确定服务器推出日期。
使用单个数据库和单个服务器实例,但通过巧妙地使用 DTO 支持新旧服务器版本的混合,DTO 在新模式和新对象的基础上呈现旧的线路协议(protocol)。据推测,我可以将版本元素添加到服务器上的路由路径。 PRO:简单的客户端,没有服务器端跨数据库同步 CON:更复杂的服务器代码;如果表拆分或合并,保持离线同步工作变得困难(可能的解决方案:并行表与代码/脚本保持同步)
选项 3 是我目前最喜欢的,但是是否有更好/更喜欢的方法来在具有 .net 后端服务器和支持离线同步的多平台客户端应用程序的 WAMS 部署中阻止重大更改?
最佳答案
您还可以考虑使用 Azure API 管理服务 (http://azure.microsoft.com/en-us/services/api-management/) 来处理版本控制。这可能对选项 1 最有用。
确实没有简单的解决方案,如果 #3 最适合您的情况,我建议您采用它。
关于mobile - 带有 Windows Azure 移动服务的 Flighting/Versioning 客户端应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27289039/
我感兴趣的是,在使用 JFR 程序进行分析时,是否可以为每个或大多数用户方法获取以纳秒为单位的开始和结束时间? 我知道可以使用代码检测,但我想利用采样分析器的优势来减少对实际程序执行的影响。 我觉得这
我正在开发 iOS 应用程序,需要识别应用程序运行的环境以对 API 端点进行分类。我想知道该应用程序是否在生产、模拟器和试飞下运行。我已经通过用户定义的设置对生产和模拟器进行了分类,但我仍然不确定如
Java Flight Recorder 现在是 OpenJDK 11 的一部分,并提供自定义事件的使用。 成功录制后,我想重用事件中的信息(尤其是我自己的自定义事件),但不知何故我无法读取事件的字段
我正在使用 jvm 的命令行参数列表 -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=延迟=2m,
我才刚刚开始使用 Flight.js并意识到组件实例共享局部变量,但在文档中没有找到任何相关信息。 这就是我的意思: flight.component(function () { var sh
Java Mission Control jmc 的用户界面允许我生成Flight Recorder 记录。在 Start Flight Recording 对话框中,我可以输入要生成的记录文件的名称
将应用提交审核后,我无法向构建中添加新的测试人员或新的测试组。单击 App Store 连接中构建下的“测试飞行”选项卡中的添加按钮时,会显示一个弹出消息,其中包含消息 “您只能将 1.9.5 版的一
我试图破译 context 中“飞行中请求”的含义浏览器加载网页: Look for the first interactive window where there is a contiguous
最近去一家公司面试(M开头,A结尾)问了我这个问题。仍在练习我的算法,所以我希望有人能帮助我理解如何解决这个问题,以及这些类型的问题。 问题: 给你 2 个数组。例如: D = [10,7,13,12
假设我使用以下标志为我的 JVM 配置了连续飞行记录 java -XX:StartFlightRecording=disk=false,dumponexit=true -XX:FlightRecord
我正在开发一个打算使用an Amazon SQS Delay Queue的项目。 我在准确理解“飞行中”消息的含义方面有些麻烦。 文档中有一条注释,内容为: Note There is a 120,0
我们的 CI 中有一项工作,用于启动 Java 应用程序并运行一些测试(该测试充当应用程序的客户端)。该应用程序是使用我认为正确的 JVM 选项来启动连续飞行记录的: -XX:+UnlockComme
我正在尝试通过使用 osgGA::AnimationPathManipulator 将 osg::AnimationPath 应用于我的 osgViewer::Viewer 实例的相机。我的问题是 A
一直在寻找如何通过 Twitter Flight 附加到动态创建的元素。 具有以下 HTML Add element 以及下面的组件定义 var Article = flight.component(
我有一个 Java 进程,我使用以下选项启动它(如此处建议:parameters for FR): -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
我的应用程序需要一个从我们的服务器接收远程通知的功能。它在 expo 和模拟上工作正常,但在独立的 iOS 上,它向我显示这样的错误 我通过试飞安装此应用程序,其中“通知”权限返回状态为“未确定”,因
我的目标是建立一个解耦的 UI 架构。我希望轮播和分页组件彼此分开;但分页能够监听 uiCarouselMoved 事件的更改。 示例:http://jsbin.com/uQadehI/1/edit?
我在 TestFlight 服务器中有 v1.1.1 和 v1.1.3。是否可以完全删除 1.1.3 然后上传 v1.1.2? 最佳答案 您甚至不需要删除 1.1.3,您只需上传 1.1.2 的新版本
我正在使用 Java Mission Control + Flight Recorder 分析 java8 JVM 进程。 在 I/O 选项卡下检查记录时,它说: "Event types 'File
有个奇怪的问题... 在我的 AppDelegate.m 中,我有以下内容: -(BOOL)application:(UIApplication *)application didFinishLaun
我是一名优秀的程序员,十分优秀!