我已经在 Win8、Win8.1 和 Win10 的同一个 Windows 机器上运行了此功能。昨天我执行了 Windows 10 的 Threshold 2 升级,现在我无法在 IISExpress 中启动我的 API。
绑定设置如下:
<binding protocol="http" bindingInformation="*:51258:jamhq" />
<binding protocol="http" bindingInformation="*:51258:192.168.0.8" />
我已经三次检查了我的所有
netsh
设置,目前在我排除故障时 Windows 防火墙已完全禁用。
每次我尝试启动此程序时,都会出现如下错误:
Failed to register URL "http://192.168.0.8:51258/" for site "<name>" application "/"
Error Description: The Network location cannot be reached.
For more information ... (0x800704d0)
我可以 ping 这个 IP(显然是因为我正在 ping 自己),我可以从我的其他机器/设备 ping 这个位置。
似乎某些极低级别的网络设置已被更改。
有人见过这个问题或者有解决办法吗?
所以,这可能会在将来帮助其他人,我今天一直在解决这个问题,并且刚刚解决了这个问题。
更新似乎删除了 http.sys 正在侦听的 IP 地址。所以执行时:
netsh http show iplisten
更新后我唯一的条目是:
::
所以执行:
netsh http add iplisten 192.168.0.8
宾果,现在一切都恢复正常了。
我通过通过网络全局启用它来解决此问题,而不仅仅是在特定 IP 中。
来自CMD(需要以管理员身份运行)
netsh http add iplisten ipaddress=0.0.0.0
在项目 applicationhost.config 中,我将全局绑定如下:
<binding protocol="http" bindingInformation=":51258:" />
这将使您的应用程序可以从具有相同网络的所有计算机访问。请注意,我也需要以管理员身份运行 Visual Studio。这可能不适合您的情况。