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
}

何时抑制错误

如果预期值较大,忽略此警告是安全的。