重定向URL在Azure上重写

时间:2013-06-12 13:08:31

标签: redirect azure asp.net-web-api

我有一个APIController需要重定向到另一个可能有不同子域的服务。简化代码:

[HttpGet]
public HttpResponseMessage DoSomething() {
    HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Moved);
    string hostname = GetHostname();
    response.Headers.Location = new Uri("https://" + hostname + "/new_path" + Request.RequestUri.Query);
    return response;
}

重定向应该转到不同的子域或相同的子域,而是不同的端口,具体取决于它运行的暂存环境。如果我在本地运行它,它也可以转到IP。 GetHostname将始终返回正确的主机名,如果我在本地运行它,一切都按预期工作。但是,只要我在Azure上运行它,我就会重定向到一个无法访问的IP地址(例如http://100.1.2.3/new_path)。有没有办法阻止这种情况并获得原始的未更改的URL?

0 个答案:

没有答案