我的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
答案 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?