c# - 服务器违反了协议(protocol)。 Section=ResponseHeader Detail=CR 后面必须跟着 LF

标签 c# .net app-config .net-framework-version

我的 App.config 文件

<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
  <system.net>
    <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
    </settings>
  </system.net>
</configuration>

当我尝试从 url 下载一些 .pdf 文件时,我遇到了以下错误。

The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF

经过广泛研究,大多数建议是在配置​​文件中添加 useUnsafeHeaderParsing="true",但不幸的是,它已经存在于我的配置文件中。

但我意识到,建议解决方案中的所有示例都没有这一行

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

所以我继续删除并尝试下载 .pdf 文件

<?xml version="1.0"?>
<configuration>
  <system.net>
    <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
    </settings>
  </system.net>
</configuration>

有效。我的应用程序是使用 .Net Framework 4

构建的

我想了解的是删除此行是否有任何影响,或者可以通过其他方式修复它?

最佳答案

根据我的经验,删除该行不会“破坏”任何内容。该行仅在您的应用程序中直接针对 .NET Framework 4.0。

https://www.codeproject.com/Articles/886256/NET-versioning-and-multi-targeting-on-Csharp-appli

这是我在去年 12 月转换我的一些项目并从文件中清除一些“无用”代码时遇到的一个很好且冗长的代码项目文件

关于c# - 服务器违反了协议(protocol)。 Section=ResponseHeader Detail=CR 后面必须跟着 LF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448083/

相关文章:

C# 代码优化导致 Interlocked.Exchange() 出现问题

c# - 找不到 Visual Studio 2015 上的 ASP.NET 5 addMvc 方法

.net - 日期时间,日期时间?和 LINQ

c# - 克隆通用 ConfigurationSection 而不使用自定义类

.net - 通过反射加载程序集和访问配置时出现问题

c# - 为什么应用程序设置在 app.config 中是只读的?

c# - Json 反序列化 Web 客户端响应 C#

c# - DataVisualization.Chart 的图形和工具提示的样式化

c# - 检测设备是否使用 USB 3.0

c# - 我如何重写文件而不是使用 StreamWriter 和文件流附加