我有一个应用程序,我试图在 VS2010 的 IIS Express 下在我的开发系统上运行,我需要使用端口 80,但我无法让它工作。我正在查找有关保留端口 80 的信息。 http://learn.iis.net/page.aspx/1005/handling-url-binding-failures-in-iis-express/
但即使在这样做之后,我仍然收到来自 vs2010 的错误消息,显示 “无法启动 IIS Express Web 服务器。端口 '80' 正在使用中。”
我不知道还能尝试什么。我使用 Process Hacker 来追踪端口 80,它似乎是System在进程 ID 4 上运行的,它是 NT 内核和系统进程。我不知道这是否会阻止我使用该端口。我想这可能是 http.sys 持有该端口的结果,所以没有其他人可以使用它?
通过修改文件的默认绑定,我确实设法让 IIS Express 在端口 80 上运行C:\Users\[MyUser]\Documents\IISExpress\config\applicationhost.config,虽然我可以通过这种方式手动启动 IIS Express,但 VS 随后会出现错误,因为该端口上已经存在绑定。所以我将它改回 8080,使用 VS2010 中的按钮创建虚拟目录(我猜这与输入站点绑定相同)但是当我去调试应用程序时仍然出现错误。VS2010 中是否有一些硬编码的东西不会让它在端口 80 上启动 IIS Express?
更新和修复:好的,所以我发现了更多需要检查的东西,我确实解决了我的问题,但没有完全解决。一篇帖子建议确保我没有安装 SQL 报告服务,因为它可以在端口 80 上进行监控,我曾经安装过它,但现在没有了,这不是我遇到的问题。然而,我确实意识到我已经安装了 WebDeploy。它与Web Platform Installer的 VS2010 SP1 捆绑包捆绑在一起。这很好,因为我确实想要来自 WebDeploy 的客户端工具,但它还在我的系统上安装了代理,该代理在端口 80 上进行监控。我去了我的服务列表并停止了Web Deploy Agent Service. 完成此操作后,我现在可以在 VS2010 中为 IIS Express 使用端口 80。
与在 IIS Express 中的端口 80 上运行相关的新问题 但是我的应用程序是一个 MVC3 应用程序,我遇到了一个问题,因为 MVC3 根本没有捕获我的请求,所以它没有触发我的控制器操作或类似的东西,但是可以访问我的应用程序根目录中的 txt 文件,因此我知道 IIS Express 正在服务的是我的网站。有人在 IIS Express 的 80 端口上运行 MVC3(我不知道它是否是 MVC3 独有)有任何问题吗?