在VS2010中使用带有IIS Express的端口80

Nic*_*cht 31 asp.net-mvc http visual-studio-2010 iis-express asp.net-mvc-3

我有一个应用程序,我试图在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持有该端口所以没有别的可以使用它?

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

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

与在IIS Express中运行端口80相关的新问题 然而我的应用程序是一个MVC3应用程序,我遇到了一个问题,因为MVC3根本没有捕获我的请求,所以它没有触发我的控制器操作或类似的东西,但我的应用程序的根目录中的txt文件可以到达所以我知道它是我的网站,IIS Express正在提供.任何人都有任何问题在端口80上的IIS Express中运行MVC3(我不知道它是否独占于MVC3)?

Nic*_*cht 23

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