我试过所有的解决方案贴出类似的问题,我想我做的一切正确。这里是我采取的步骤:
>向HTTP.SYS添加以下预留:
netsh http add urlacl url = http://:36899 / user = Everyone
>以管理员身份运行Visual Studio 2012(从技术上讲,我不认为自从我手动设置HTTP.SYS之后我甚至不需要)。
>禁用Windows防火墙。
>在我的“我的文档”文件夹中删除我的IISExpress文件夹,以确保默认设置。
>允许Visual Studio在我的web项目的applicationhost.config中创建条目。然后手动编辑配置文件更改localhost到192.168.0.100这是我的本地IP。然后回到Visual Studio中的项目属性,并将localhost更改为IP并保存项目,以便我的项目现在设置为http://192.168.0.100:36899。
我也尝试更改端口和重复上述步骤,只是因为某些原因使用端口。
我想让我的IIS Express开发者实例可以从我的IP上的Internet上进行远程测试。
解决方法
<bindings> <binding protocol="http" bindingInformation="*:8099:" /> </bindings>
关键是简单地删除localhost。请勿将其替换为星号,不要使用IP或计算机名称替换。只要在冒号后留空即可。
这样做后,我不需要以管理员身份运行Visual Studio,我可以随意将项目属性中的项目URL更改为本地IP或计算机名称。然后我设置端口转发,它是可访问的互联网。
编辑:
我发现了一个更多的怪癖,这是重要的让IIS Express正确服务外部请求。
>如果以管理员身份运行Visual Studio / IIS Express,则不能使用“netsh http add urlacl …”命令向HTTP.SYS添加预留。否则将导致HTTP 503服务不可用错误。删除您在URLACL中所做的任何保留,以解决此问题。>如果您没有以管理员身份运行Visual Studio / IIS Express,则必须向URLACL添加预留。