her*_*son 6 azure azure-configuration
我正在考虑将现有的应用程序移动到Azure.它将在一个Web角色中具有MVC应用程序,在另一个Web角色中具有一些WCF服务.在线直播时,该网站将会存在http://www.myapp.com并且服务将http://api.myapp.com与MVC应用配置为指向服务http://api.myapp.com.
问题是将应用程序推送到Azure上的"阶段"配置时.我的理解是,每次推送到舞台都会使服务生活在一个新的网址(一些随机的东西http://4aa5ae2071324585ba5a902f4242a98c.cloudapp.net/).在这种情况下,我的MVC应用程序发现服务网址的最佳方式是什么?
一种选择是设置dns条目,http://stage.api.myapp.com并在每次推送到舞台时更新我的DNS CNAME记录以指向新的Azure临时URL,但是......哎呀.
另一个选择是推送到阶段,获取服务的新URL,RDC到MVC角色的每个实例并手动更新配置.还好.
有一个简单的方法吗?我知道我可以用PowerShell之类的东西自动执行上面的一些步骤,但我真的希望Azure框架中有一些东西可以让它变得简单.看起来这将是一个标准的场景.
动态发现登台URL的唯一方法是让实例检查自己的deploymentID.我假设MVC网站和WCF服务在同一部署中.如果检查RoleEnvironment.DeploymentID,您会发现这与staging中使用的"随机"URL完全一致(即http:// [deploymentID] .cloudapp.net).
只要您在客户端上动态创建ChannelFactory,它就应该能够获取自己的DeploymentID并找到暂存URL.
当然,这仅在部署到分段时有用.你为什么不简单地使用生产槽?该名称是稳定的,您可以依赖它或您为其设置的CNAME(更有可能).您可以随时拥有多个托管服务(dev,QA,prod等),只需使用它们上的生产槽即可.
| 归档时间: |
|
| 查看次数: |
3581 次 |
| 最近记录: |