0

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

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

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

在此处输入图像描述

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

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

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

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

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

4

1 回答 1

0

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

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

手动将进程(TOOLS -> Attach to process (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 标头,然后选择“设置通用标头...”,然后检查弹出“设置通用 HTTP 响应标头”对话框中的“启用 HTTP 保持活动”选项。

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

问题已解决,但症状并未说明导致问题的原因。虽然我们为这个问题浪费了一天的时间,但现在完成它并能够继续前进感觉很好。

于 2015-08-12T14:32:58.920 回答