据我了解,VS2012默认配有IIS Express版本。它允许您使用IP地址连接到开发站点。目前我可以使用http://localhost:22222
进行连接。但这不会使用此http://xxx.xxx.xxx.xxx:22222
连接,其中xxx只是开发机器的本地IP。我已经验证IIS Express正在运行并正在使用。 IE错误是http 400错误请求。
答案 0 :(得分:0)
我知道你问了很久以来的问题。我在this link.
回答了这个问题转到IISExpress>Config
文件夹,找到applicationhost.config
。如下所示更改<bindings>
:
<bindings>
<binding protocol="http" bindingInformation="*:1407:YOUR_IP_ADDRESS" />
</bindings>
在您执行此操作之前,您必须使用netsh
命令注册此IP地址,如下所示:
如果您运行的是Windows 7,几乎所有传入连接都被锁定,因此您需要专门允许传入连接到您的应用程序。首先,启动管理命令提示符。其次,运行这些命令,将192.168.1.11:1234替换为您正在使用的IP和端口:
> netsh http add urlacl url=http://192.168.1.11:1234/ user=everyone
这只是告诉http.sys
可以与这个网址对话。
> netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=1234 profile=private remoteip=localsubnet action=allow
这会在Windows防火墙中添加一条规则,允许本地子网上计算机的端口58938的传入连接。更多信息位于this link。
注意:请务必仅通过locationg更改项目的绑定名称。您甚至可以保留localhost绑定并添加一个新的绑定,这样您就可以使用给定的IP地址访问同一个网页。
答案 1 :(得分:0)
对我有用的解决方案是this one:
为我解决此问题的一件事是在applicationhost.config文件中使用我的网站的<bindings>
部分中的以下行:
<bindings>
<binding protocol="http" bindingInformation="*:8099:" />
</bindings>
关键是简单地删除localhost。不要用星号替换它,不要用IP或计算机名称替换它。在结肠后留空。
执行此操作后,我不需要以管理员身份运行Visual Studio,我可以自由地将项目属性中的Project Url更改为本地IP或计算机名称。然后,我设置了端口转发,可以访问Internet。
修改强>
我发现了一个让IIS Express正确提供外部请求非常重要的怪癖。
如果您以管理员身份运行Visual Studio / IIS Express,则不得使用&#34; netsh http add urlacl ...&#34;向HTTP.SYS添加预留。命令。这样做会导致HTTP 503 Service Unavailable错误。删除您在URLACL中所做的任何预订,以解决此问题。
如果您不以管理员身份运行Visual Studio / IIS Express,则必须向URLACL添加预留。
答案 2 :(得分:0)
这里
<块引用>%userprofile%\Documents\IISExpress\config 文件夹
或
<块引用>%userprofile%\My Documents\IISExpress\config 文件夹