C# 始终使用@Url.Action获取端口号

C# 始终使用@Url.Action获取端口号,c#,asp.net-mvc,C#,Asp.net Mvc,我使用@Url.Action(“Scan”、“System”、null、“http”、Request.Url.Host)为链接创建Url 当我在VisualStudio中运行此程序时,会得到一个URL,如 我需要将此网站部署到的服务器包括URL中显示的端口号(即端口10000)。当这个@Url.Action代码在服务器上运行时,它会给我一个Url。这个Url不起作用,因为它不包括端口,并且似乎试图使用端口80而不是10000 我尝试执行此代码以包含端口:@Url.Action(“扫描”、“系统”

我使用
@Url.Action(“Scan”、“System”、null、“http”、Request.Url.Host)
为链接创建Url

当我在VisualStudio中运行此程序时,会得到一个URL,如

我需要将此网站部署到的服务器包括URL中显示的端口号(即端口10000)。当这个@Url.Action代码在服务器上运行时,它会给我一个Url。这个Url不起作用,因为它不包括端口,并且似乎试图使用端口80而不是10000

我尝试执行此代码以包含端口:
@Url.Action(“扫描”、“系统”、null、“http”、Request.Url.Host+”:“+Request.Url.port)

问题是,当这在服务器上运行时,当我用完VisualStudio时,我会得到这样一个URL:(ie端口号列出两次)


对于如何使这两种方案都能起作用,有什么想法吗?比如强制@Url.Action始终包含端口

这是应用程序外部的链接吗?例如,另一台服务器或不同的端口?通常,
Url.Action
不提供主机名和端口。我通常看到链接被格式化为针对站点根的绝对路径,例如:
/Area/Controller/Action
。有什么原因必须指定主机名吗?为什么指定主机而不是简单的
@Url.Action(“扫描”、“系统”)
?@Kris您找到解决方案了吗?我有完全相同的问题老实说,这是2年半前,我张贴了这一点,并没有真的记得。我想我没有,但我甚至找不到这个代码了。对不起,这是应用程序外部的链接吗?例如,另一台服务器或不同的端口?通常,
Url.Action
不提供主机名和端口。我通常看到链接被格式化为针对站点根的绝对路径,例如:
/Area/Controller/Action
。有什么原因必须指定主机名吗?为什么指定主机而不是简单的
@Url.Action(“扫描”、“系统”)
?@Kris您找到解决方案了吗?我有完全相同的问题老实说,这是2年半前,我张贴了这一点,并没有真的记得。我想我没有,但我甚至找不到这个代码了。很抱歉