host文件并添加了以下一行后:
127.0.0.1 subdomain.domain.com
运行您的网站,个人网站启动,并在您的浏览器中显示此内容:
http://localhost:[端口号]/ (例如:http://localhost:17365/)
只需将其更改为
http://subdomain.domain.com:[端口号]/(例如:http://subdomain.domain.com:17365/)
手动在浏览器的地址栏中输入它,它就会工作。
网站属性 > 使用动态端口为False,然后将端口号设置为80,最后运行它。
默认情况下,它将启动http://localhost:80,但是如果在浏览器中访问subdomain.domain.com,它将指向您的网站调试实例(假设您仍然在主机文件中拥有127.0.0.1 subdomain.domain.com)。
我只需进入 项目属性 > Web 然后在 Servers 下,选择 使用本地 IIS Web 服务器 并将 项目 URL 设置为 subdomain.domain.com。

打开applicationhost.config文件,你可以在Windows托盘中找到。 在IIS中查找当前正在运行的项目的application.config
现在找到
<webLimits>
......
<sites>
.....
<site name="[YourProjectName]" id="[YourProjectID]">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="[Your Project Path]" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:50569:[Remove localhost from here]" />
</bindings>
</site>
.....
</sites>
......
<webLimits />
从绑定信息中删除 localhost。
最后,以管理员身份运行 VisualStudio。
你必须配置你的网络服务器。 好的,你改变了hosts文件。你的系统(dns)知道该去哪里(127.0.0.1)和主机一起。 但是你的网络服务器仍然不知道子域名.domain.com,并且与之无任何关联。
当您在Visual Studio中正常启动asp.net站点时,它会使用Cassini Web服务器。我不确定是否可以为Cassini配置绑定。
我的建议是在IIS中配置一个网站或虚拟目录,并将其绑定到subdomain.domain.com,这里有关于如何执行此操作的说明:Add a binding to a site
您的hosts文件应包含以下内容:
127.0.0.1 subdomain.domain.com
subdomain.domain.com的请求将被重定向到您的本地IIS Web服务器(端口80),因为绑定配置使IIS知道在哪里查找您的网站。
在Visual Studio中的Web项目属性中,您可以在Web选项卡中配置使用本地IIS Web服务器。
我不确定Visual Studio开发服务器是否可以处理除localhost以外的绑定。我认为你唯一能改变的是端口号。
你有几个选择:
1)安装IIS Express(或完整版IIS,如果你想要),并配置Visual Studio指向你在其中设置的站点。你可以手动设置你的绑定到subdomain.domain.com,它非常灵活。看一下这个答案:使用自定义域名与IIS Express
2)安装一个端口转发器,比如rinetd(如果你在hosts文件中有条目,我认为这应该可以工作)。你应该能够将subdomain.domain.com:<some port number>映射到localhost:17365。请注意,rinetd不会检测你正在使用的域名(只会检测底层IP地址,即127.0.0.1),因此最好为你正在处理的每个项目使用不同的端口。
我正在使用VS 2017和Webforms(不要说它)。
<binding protocol="http" bindingInformation="*:8080:subdomain.domain" />
同样可以在记事本中完成。确保此文件中没有重复或旧条目绑定到任何位置。在第一步更改端口后,您可能会获得一个带有旧绑定的自动生成的重复条目。此外,请确保编辑正确的applicationhost.config文件。根据您的VS版本,此文件位于不同的位置。
以管理员身份运行很麻烦,但这是我能够使端口不改变的唯一方法。此外,我尝试使用其他端口,例如VS随机分配的端口,但不断遇到来自IIS的503错误。
使用这个代码,您可以获得IP地址列表。如果我添加了这段代码,它会解析为127.0.0.1。请确认这是否是您要寻找的内容,否则我将删除答案。
foreach (IPAddress address in Dns.GetHostAddresses("localhost"))
{
Console.WriteLine(address.ToString());
}
HostFile。 - MethodMan
Dns.GetHostAddresses吗? - MethodManwww.google.com。foreach (IPAddress address in Dns.GetHostAddresses("www.google.com")) { Console.WriteLine(address.ToString()); }- MethodMan