1

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

我想让它们都在同一个 webrole 上,在生产中我似乎可以执行以下操作:

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

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

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

提前致谢

4

2 回答 2

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
于 2013-04-04T13:18:22.943 回答
0

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

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

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

于 2013-11-14T05:48:30.557 回答