C# Current.Request.Url提供我的计算机IP地址而不是域名

C# Current.Request.Url提供我的计算机IP地址而不是域名,c#,iis,C#,Iis,我不知道如何联网,但我要求我的系统管理员将我的应用程序托管到我们官方网站的子域中,例如,我办公室的官方网站是downtoearth.com。然后他问我开发应用程序的计算机的IP地址,然后他说我的应用程序已经可以从myapp.downtoearth.com访问了 我可以从那个域打开我的应用程序,但我现在的问题是,当我试图获取我的当前URL时,它会给我计算机的IP地址。我尝试使用HttpContext.Current.Request.Url.GetLeftPartUriPartial.Authori

我不知道如何联网,但我要求我的系统管理员将我的应用程序托管到我们官方网站的子域中,例如,我办公室的官方网站是downtoearth.com。然后他问我开发应用程序的计算机的IP地址,然后他说我的应用程序已经可以从myapp.downtoearth.com访问了

我可以从那个域打开我的应用程序,但我现在的问题是,当我试图获取我的当前URL时,它会给我计算机的IP地址。我尝试使用HttpContext.Current.Request.Url.GetLeftPartUriPartial.Authority和HttpContext.Current.Request.Url.Host,但结果相同,我想要的是我的域myapp.downtoearth.com/而不是我的IP地址。有什么办法可以解决吗? 我的互联网办公室使用代理,所以我的计算机没有公共IP。当然,如果它给我的电脑IP地址,它会得到错误404找不到。我使用MVC4和IIS8


对不起,如果有一些拼写错误,英语不是我的默认语言,这是我在stackoverflow的第一个问题。我希望你能理解我的问题

您的应用程序可能在某个负载平衡器后面。您不应该使用Request.Url,因为它在所有情况下都无法正常工作。在您的情况下,请求被视为本地的,这就是为什么Url是您的IP。相反,您可以使用Request.UserHostName。请查找我的计算机的IP地址是什么意思?例如,我的计算机IP地址是10.151.34.44我不知道sysadmin做了什么,现在可以从myapp.downtoearth.com访问我位于10.151.34.44的IIS web服务器。但当我使用HttpContext.Current.Request.Url.Host时,它会给我IP地址10.151.34.44,而不是我的域myapp.downtoearth.com,这就是我所说的计算机IP地址。当然,我不能从外部ping 10.151.34.44。我相信UserHostName指的是客户端的主机名,如果用户试图使用Request.Url,这通常不是他们想要的。