我在try 从Visual Studio启动IIS Express时收到此错误,该项目配置为侦听本地主机以外的地址.Visual Studio冻结约30秒,然后出现错误"无法启动IIS Express Web服务器".

我已经try 了所有类似问题的解决方案,我认为我做的一切都是正确的.以下是我采取的步骤:

  1. 将以下保留添加到HTTP.系统:

    netsh http add urlacl url=http://+:36899/ user=Everyone

  2. 以管理员的身份运行Visual Studio 2012(从技术上讲,我认为我甚至不应该这样做,因为我手动设置了HTTP.SYS).

  3. 禁用Windows防火墙.

  4. 删除my my Documents文件夹中的my IISExpress文件夹以确保默认设置.

  5. 允许Visual Studio在applicationhost中创建条目.为我的web项目配置.然后手动编辑配置文件,将localhost更改为192.168.0.100,这是我的本地IP.然后返回VisualStudio中的项目属性,将localhost更改为IP并保存项目,这样我的项目现在就设置为http://192.168.0.100:36899.

我还try 过更改端口,并重复上述步骤,以防端口因某种原因被使用.

我想使我的IIS Express开发人员实例可以从Internet上的IP访问,以便进行远程测试.

推荐答案

对我来说,解决这个问题的一件事是在applicationhost.config文件中我的站点的<bindings>部分中使用以下行:

<bindings>
    <binding protocol="http" bindingInformation="*:8099:" />
</bindings>

关键是简单地删除localhost.不要用星号替换,不要用IP或计算机名替换.在冒号后面留空.

这样做之后,我不需要以管理员身份运行Visual Studio,并且我可以自由地将项目属性中的项目URL更改为本地IP或计算机名称.然后我设置了端口转发,它可以通过Internet访问.

EDIT:

我发现了另一个怪癖,这对让IIS Express正确地服务外部请求很重要.

  1. 如果您以管理员身份运行Visual Studio/IIS Express,则可以使用"netsh http add urlacl."将保留添加到HTTP.SYS.指挥部.这样做将导致HTTP 503服务不可用错误.删除您在URLACL中所做的所有预订以解决此问题.

  2. 如果您是以管理员身份运行Visual Studio/IIS Express的not名用户,则可以向URLACL添加保留.

Asp.net相关问答推荐

DataTables-如何修改来自JSON响应或其他DataTables参数的无结果(ZeroRecords)消息

如何获取已构建、编码的 ViewState 的值?

如何在 ASP.NET WebForms 中实现 TDD

Azure Service Fabric 是否与 Docker 做同样的事情?

如何使用 javascript 获取 MVC 应用程序的基本 URL

我可以在 Visual Studio 2010 中将任务列表项添加到 csHTML 吗?

ASP.NET IIS - 请求何时排队?

使用 ASP.NET WebForms 的 jQuery DataTables 服务器端处理

我需要更改什么以允许我的 IIS7 ASP.Net 3.5 应用程序创建事件源并将事件记录到 Windows EventLog?

如何使用 javascript 调用 ASP.NET c# 方法

通过 jQuery 调用 ASP.NET 服务器端方法

Asp.net 中的下拉列表验证使用必填字段验证器

如何判断用户代理是 ipad 还是 iphone?

如何获取正在访问 ASP.NET 应用程序的当前用户?

单独装配和路由中的控制器

<%# Eval("State") %> 或 <%# DataBinder.Eval(Container.DataItem, "state")%>

将当前谷歌 map 保存为图片

解析器错误:此处不允许使用_Default,因为它没有扩展类System.Web.UI.Page和 MasterType 声明

错误处理(向客户端发送 ex.Message)

ASP.NET 邮箱验证器正则表达式