在使用 azure 模拟器运行我的 MVC 3 项目时,我使用此方法调用将浏览器重定向到另一个 URL:
int id = 4; // could be any number
return this.RedirectToAction("Index", "Home", new { id, area = "App" });
模拟负载均衡器在 81 端口上运行,而实际网站在 IIS 中的 82 端口上。
当我运行它时,它会将浏览器重定向到端口 82... 我得到一个400 - Bad Request - Invalid Hostname。
我试过这样做......但它也没有帮助:
var url = this.Url.Action("Index", "Home", new { id, area = "App" });
return this.Redirect(url);
即使将相对 URL 传递给该Redirect
方法也无济于事……我使用了 fiddler,发现重定向 URL 不是相对的,实际上来自服务器的响应包含指向端口 82 的完整重定向 URL。
我该如何解决这个问题?