【问题标题】:Unable to start debugging a Visual Studio 2012 project using local host on port 8280无法使用端口 8280 上的本地主机开始调试 Visual Studio 2012 项目
【发布时间】:2015-11-04 09:38:25
【问题描述】:

另外两个开发人员可以在他们的工作站上本地调试 asp.net 网站解决方案而不会出现任何问题。

但是,一位开发人员仍然无法在他的工作站上本地调试解决方案。

他收到下图所示的以下错误。 “无法在 Web 服务器上开始调试。服务器违反了协议。Section=ResponseHeader Detail=CR 必须后跟 LF”。

网站配置为在 localhost 8280 端口上运行。

我们使用 netstat 来验证端口 8280 上没有运行其他任何东西。

我们已经尝试了来自Error : "Unable to start debugging on the web server..." ASP.NET 4.0 和其他论坛的所有解决方案。

我们已经没有尝试什么的想法了。

还有什么可能导致此错误?还有什么办法可以解决这个错误?

【问题讨论】:

    标签: asp.net debugging visual-studio-2012 server response-headers


    【解决方案1】:

    我们找到了解决此问题的“解决方法”。它不能解决它,但它确实允许我们团队中遇到此问题的开发人员现在能够调试项目。

    https://stackoverflow.com/a/19787785/323696

    手动附加进程(TOOLS -> 附加到进程(ctrl + ALT +p)) 到 IIS 的 w3wp.exe,或者 IIsExpress.exe 也有效,这让我怀疑 VS 无法确定它是哪个进程 应该自动附加到。

    在开发人员的计算机上,与其他项目和解决方案一起尝试调试时,Visual Studio 会自动附加到 w3wp.exe 进程。

    但是,在他遇到问题的一个解决方案/项目中,并且也仅在他的计算机上,他每次使用 Visual Studio 调试器时都必须手动附加到 w3wp.exe 进程。

    编辑 2015 年 8 月 12 日:

    开发人员计算机上问题的实际解决方案是,在 IIS 中,在服务器级别的“HTTP 响应标头”属性中,“X-Powered-By”HTTP 标头存在重复条目。

    删除重复条目后,在 Visual Studio 中启动调试器就没有其他问题了。

    让我们检查“HTTP 响应标头”属性的是这个 SO 帖子:https://stackoverflow.com/a/6124267/323696

    它建议检查“HTTP Keep Alives”是否已启用,在 IIS 的“HTTP 响应标头”属性中进行检查,右键单击 HTTP 标头,然后选择“设置公共标头...” ,然后在弹出的“Set Common HTTP Response Headers”对话框中勾选“Enable HTTP keep-alive”选项。

    虽然“启用 HTTP 保持活动”设置已被选中,但不是根本原因或我们的问题,但随后检查该设置是导致我们找到根本原因的原因,即重复的 HTTP 响应标头.

    问题已解决,但症状并未说明导致问题的原因。虽然我们因这个问题耽误了一天的工作,但完成它并能够继续前进的感觉很好。

    【讨论】:

      猜你喜欢
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多