asp.net-mvc - 在 VS2010 中使用端口 80 和 IIS Express

标签 asp.net-mvc visual-studio-2010 http asp.net-mvc-3 iis-express

我有一个应用程序,我正尝试在我的开发系统上运行,在 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,它似乎被运行在进程 ID 4 上的 System 使用,这是 NT 内核和系统进程。我不知道这是否会阻止我使用该端口。我想这可能是因为 http.sys 占用了那个端口,所以没有其他人可以使用它?

通过修改 C:\Users\[MyUser]\Documents\IISExpress\config\applicationhost.config 文件的默认绑定(bind),我设法让 IIS Express 在端口 80 上运行,并且虽然我可以通过这种方式手动启动 IIS Express,但 VS 会收到错误消息,因为该端口上已经存在绑定(bind)。所以我将其改回 8080,使用 VS2010 中的按钮创建虚拟目录(我猜这与输入站点绑定(bind)相同)但是当我调试应用程序时仍然出现错误。 VS2010 中是否有一些硬编码不允许它在端口 80 上启动 IIS Express?

更新和修复: 好的,所以我发现了一些要检查的东西,我确实解决了我的问题,但没有完全解决。一篇帖子建议确保我没有安装 SQL 报告服务,因为它可以在端口 80 上进行监控,我曾经安装过它,但现在不再安装了,这不是我遇到的问题。但是我确实意识到我已经安装了 WebDeploy。它与来自 Web Platform Installer 的 VS2010 SP1 bundle 捆绑在一起.这很好,因为我确实想要来自 WebDeploy 的客户端工具,但它还在我的系统上安装了代理,它正在监视端口 80。我转到我的服务列表并停止了 Web Deploy Agent Service .完成此操作后,我现在可以在 VS2010 中为 IIS Express 使用端口 80。

与在 IIS Express 中的端口 80 上运行相关的新问题 但是我的应用程序是一个 MVC3 应用程序,我遇到了一个问题,因为 MVC3 根本没有捕获我的请求,所以它没有触发我的 Controller 操作或类似的东西,而是我应用程序根目录中的一个 txt 文件可以访问,因此我知道 IIS Express 正在为我的站点提供服务。有人在 IIS Express 的 80 端口上运行 MVC3(我不知道它是否专用于 MVC3)有任何问题吗?

最佳答案

只是发布我自己对这个问题的回答,这样我就可以将问题标记为已回答。 检查http://learn.iis.net/page.aspx/1005/handling-url-binding-failures-in-iis-express/ 如果安装了 Web 部署代理服务,请将其禁用。

关于asp.net-mvc - 在 VS2010 中使用端口 80 和 IIS Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5671205/

相关文章:

asp.net-mvc - 我应该如何使用 ASP.NET MVC 路由实现本地化?

jquery - 如何从 DatePicker ui jquery 中删除时间

c++ - "unresolved external symbol"错误

c++ - 100 万数组中的 C/C++ Stackoverflow 错误

java - HTTP Keep-Alive 可以维持长轮询吗?

css - 使用css在同一行上的标签和文本框

asp.net - 如何在 ASP.NET MVC 5.1.2 OWIN 中以编程方式验证用户或进行身份验证

visual-studio-2010 - 使用 devenv.com 编译安装项目 - "ERROR: Unable to update the dependencies of the project"

c# - 为什么带有 "@"的链接在我的浏览器中有效,但 C# HttpWebRequest 给出 404(远程服务器返回错误 : (405) Method Not Allowed.)

Python 无法使用 ntlm 进行身份验证