0

我的 ASP.NET MVC 项目中的 URL 生成有问题。

这段代码:

@Url.Action("Register", "Home", null, "https") }))

生成绝对 URL,这通常很好,除了在我的环境中,我在 Web 服务器之前有一个负载均衡器,这些服务器在 443 以外的不同端口上运行 ssl。我怀疑,该应用程序识别不同的端口并生成具有指定端口的 URL,例如:

https://www.example.com:449/Home/Register

同样的情况发生在

RedirectToAction("Index", "Home"); 

等等

如何使应用程序始终在生成的 url 中使用默认端口?

https://www.example.com/Home/Register
4

1 回答 1

0

我现在已经设置了几个测试,但我无法在 MVC4 上重现这个问题。我在非标准端口上运行 HTTP 服务器,并且 Url.Action() 返回没有端口号的绝对 URL。

但是,如果您真的为此苦苦挣扎,则可以将hostName 参数设置为Url.Action().

@Url.Action("Register", "Home", null, "https", "example.com") // or you could use Request.Url.Host possibly?
于 2013-09-30T20:52:40.410 回答