CA2262:正确设置“MaxResponseHeadersLength”

属性
规则 ID CA2262
标题 正确设置 MaxResponseHeadersLength
类别 使用情况
修复是中断修复还是非中断修复 非中断
在 .NET 9 中默认启用 作为建议

原因

HttpClientHandler.MaxResponseHeadersLength 属性设置为大于 128 的值。

规则说明

HttpClientHandler.MaxResponseHeadersLength 属性以 KB 而不是字节为单位进行度量。 默认的最大长度为 64 KB,对于大多数用例而言,这应该足够大了。 如果将属性设置为大于 128 KB 的值,则可能是因为误解了此属性的单位。

如何解决冲突

如果打算设置较小的值,请将其更新为以 KB 为单位的所需值。

示例

HttpClientHandler handler = new()
{
    // Violation
    MaxResponseHeadersLength = 512

    // Fix (it is not possible to specify a limit lower than 1 KB)
    MaxResponseHeadersLength = 1
};

Dim handler As New HttpClientHandler With {
    ' Violation
    .MaxResponseHeadersLength = 512

    ' Fix (it is not possible to specify a limit lower than 1 KB)
    .MaxResponseHeadersLength = 1
}

何时禁止显示错误

如果打算设置为较大的值,则抑制此警告是安全的。