具有特定端口或相对的Url.Action

时间:2013-09-30 17:11:56

标签: asp.net asp.net-mvc asp.net-mvc-4

我的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

1 个答案:

答案 0 :(得分:0)

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

但如果你真的在努力解决这个问题,你可以hostName parameter on Url.Action()

@Url.Action("Register", "Home", null, "https", "example.com") // or you could use Request.Url.Host possibly?