为什么我在调试 Web 应用程序时遇到"The server committed a protocol violation Section-ResponseStatusLine"?



我有一个.NET 1.1解决方案,其中所有项目都已升级到.NET 4.0(VS2010,Windows 7)。 为了解决"无法在 Web 服务器上启动调试"问题,我将 Web 应用程序属性切换为使用 VS 开发服务器而不是 IIS。

调试 Web 应用程序时,它会启动"确定"。 但是当我遇到调用计算机上本地 Web 服务的行时,我收到上述错误。 我已经看到了关于添加useUnsafeHeaderParsing=false的东西,但我的web.config没有 sytem.net 部分。

它是否不能在应用程序开发服务器上同时服务器 Web 服务和 Web 应用程序? 是否需要正确配置它才能使用 IIS7? 作为一个长期的IIS6用户,光是看着它就让我头晕目眩...... 虽然,我确实在其中设置了站点和网络服务,并且我相当确定它曾经工作过。 必须喜欢那个。

这对我有用: 下面的文字来自这个 CodePlex 帖子

当您

已将 Visual Studio 设置为调试时,通常会发生此错误 在 IIS 中运行的现有 Web 应用程序,而不是内置的 ASP.NET 调试 Web 服务器。默认情况下,IIS 侦听 Web 请求 端口 80。在这种情况下,另一个应用程序已经在侦听 端口 80 上的请求。通常,有问题的应用程序是Skype, 默认情况下,在以下情况下接管端口 80 和 443 的侦听 安装。Skype已经占据了80端口。所以 IIS 无法 开始。

要解决此问题,请按照以下步骤操作:
- Skype ->工具 ->选项 -> 高级 -> 连接:
- 取消选中"使用端口 80 和 443 作为传入连接的替代端口"。

由于Skype已默认Port 80 or 443并且默认网站已停止。若要解决此问题,请从 IIS 关闭 Skype,[Start]默认网站(如果需要,请再次启动 Skype。

您也可以尝试执行IIS重置

最新更新