C# HttpContext.Current.Request.Url给出127.0.0.1

C# HttpContext.Current.Request.Url给出127.0.0.1,c#,asp.net,windows-7,iis-7.5,C#,Asp.net,Windows 7,Iis 7.5,在Visual Studio中调试时,该程序正在以下URLhttp://localhost:39452/ 我得到http://127.0.0.1作为以下属性的值 HttpContext.Current.Request.Url 而不是http://localhost:39452/ 我的主机文件中有此值: ::1 localhost 你能告诉我我做错了什么吗?都是本地主机::1是IPv6版本的简写符号,127.0.0.1是IPv4版本 我猜你认为你做错了什么,这是你唯一做错的事!:) 可能您

在Visual Studio中调试时,该程序正在以下URL
http://localhost:39452/
我得到
http://127.0.0.1
作为以下属性的值

 HttpContext.Current.Request.Url
而不是
http://localhost:39452/
我的主机文件中有此值:

::1  localhost

你能告诉我我做错了什么吗?

都是本地主机<代码>::1是IPv6版本的简写符号,
127.0.0.1
是IPv4版本


我猜你认为你做错了什么,这是你唯一做错的事!:)

可能您试图过早获取
HttpContext.Current.Request.Url


比如,;在
HttpModule
Init
事件期间,您可能会遇到此类问题。我的意思是你可能会得到
http://127.0.0.1/myApp
而不是正确的
http://localhost/myApp

localhost
127.0.0.1
此外,39452是服务器正在侦听的端口,而不是客户端正在使用的端口
HttpContext.Current.Request.Url
从不包含端口号,因此您得到的是正确的值。@itsme86,我假设Url也应该包含端口号。是的,但HTTP的默认端口是80,而不是39452,因此URI也应该包含端口号。