在暂存天蓝网络角色中创建子域

时间:2013-04-04 10:45:18

标签: asp.net-mvc-4 azure asp.net-web-api azure-web-roles

我有两个项目的解决方案: - Project1是一个asp.net mvc 4项目 - Project2是一个asp.net webapi项目

我希望他们两个都在同一个webrole上,在制作中我似乎可以做到以下几点:

  • 所有前往mydomain.com的请求都将转到MVC项目
  • 所有请求转到api.mydomain.com将转到webapi项目

在暂存基本网址类似于ec3abfacbfb27a1800f6bc0f2b168121.cloudapp.net,有没有办法做到这一点:

  • 所有前往ec3abfacbfb27a1800f6bc0f2b168121.cloudapp.net的请求都将转到MVC项目
  • 所有请求goign到api.ec3abfacbfb27a1800f6bc0f2b168121.cloudapp.net将转到webapi项目

提前致谢

2 个答案:

答案 0 :(得分:2)

没有。 在您的特定场景(以及更多)中,我建议不要使用暂存环境。请改用其他生产环境。并将其命名为[myapp-stating].cloudapp.net

使用您自己的自定义域创建映射(比如myapp.com):

  • staging.web.myapp.com - > CNAME - > myapp-staging.cloudapp.net
  • staging.api.myapp.com - > CNAME - > myapp-staging.cloudapp.net

答案 1 :(得分:0)

首先,在您的网络应用中设置路由,如果您还没有。它应该在主机名上查找api前缀,否则将与URL无关。

然后,使用浏览器进行手动测试,使用登台服务器的IP地址编辑%SystemRoot%\System32\drivers\etc\hosts并为api.abcdefghijklmnopqrstuvwxyz.cloudapp.net添加一行。

对于自动化测试,让测试客户端使用其常规主机名(不带api前缀)连接到登台服务器,但设置Host标头以包含api前缀期望的。