Azure上WebForm与升级后Blazor Server应用共存的最佳实践
Azure渐进式迁移:旧站点保留+新功能逐步引导的最佳实践
针对你的场景,推荐以下落地性强的实践方向,既能保留旧站点正常运行,又能逐步引导用户体验新Blazor应用的功能:
一、基于反向代理的路由分流(核心方案)
把旧站点和新Blazor应用部署为Azure上的独立服务(比如都用App Service),通过Azure Front Door或Application Gateway作为统一入口,实现域名级的流量分发:
- 路径匹配分流:配置路由规则,将特定路径(比如
/new-feature-a、/new-feature-b)转发到新Blazor应用,其余路径默认指向旧站点。用户访问www.old.com/new-feature-a时会自动进入新功能页面,其他访问仍走旧站点。 - 灰度分流可选:如果需要小范围测试,可添加基于用户比例、地域或身份的路由规则,让部分用户优先体验新功能,验证稳定后再扩大范围。
二、功能切换与回流设计
- 新页面内置返回入口:在Blazor新功能页面的固定位置(如导航栏底部)添加返回旧站点对应页面的按钮,直接跳转回旧站点的原功能路径(比如从新Feature A页面跳回
www.old.com/feature-a),保证用户操作流程的连贯性。 - 身份状态共享:如果新旧站点需要统一登录状态,将身份验证机制统一为Azure AD,或者配置Cookie共享(设置Cookie的域为根域名
.old.com),避免用户在切换时重复登录。
三、旧站点的用户引导
- 功能入口添加引导提示:在旧站点的Feature A、B、C入口处,添加醒目的“体验新版”按钮,点击后直接跳转至新应用的对应路径。比如旧站点的Feature A页面顶部添加按钮,链接到
www.old.com/new-feature-a。 - 渐进式替换提示:随着新功能逐步完善,可逐步扩大提示的展示范围,从内部测试人员到全量用户,最终完成整体迁移。
四、部署与风险控制
- 独立隔离部署:旧站点和新Blazor应用分别部署在不同的Azure资源实例中,各自独立维护、扩容,避免相互影响。新应用先部署到测试环境验证功能,再接入生产级的路由规则。
- 快速回滚机制:通过Azure Front Door/Application Gateway的路由规则,可在新应用出现问题时一键切换回旧站点的对应功能,保证生产环境的稳定性。同时配置Azure Monitor监控新应用的错误率、响应时间,及时发现问题。
内容的提问来源于stack exchange,提问作者Gary S
相关产品推荐
相关产品推荐

