我有一个应用程序,我试图在 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 独有)有任何问题吗?