System.Net.ProtocolViolationException:要写入流的字节超过指定的内容长度字节大小

本文关键字:字节 System Net ProtocolViolationException | 更新日期: 2023-09-27 18:27:23

我基于HttpListener编写web服务器代码,但经常发生类似的异常

"System.Net.ProtocolViolationException:要写入流超过指定的内容长度字节大小"。

示例代码:

context.Response.Output = System.Text.Encoding.UTF8.GetBytes("xxx");
if (context.Response.Output != null && context.Response.Output.Length > 0)
{
    context.Response.ContentLength64 = context.Response.Output.Length;
    using (var stream = context.Response.OutputStream)
    {
        stream.Write(context.Response.Output, 0, context.Response.Output.Length);
    }
}

并非每次出现请求时都会出现此异常。谁能告诉我怎么修。谢谢!

System.Net.ProtocolViolationException:要写入流的字节超过指定的内容长度字节大小

您似乎遇到了与下面的问题相同的问题。您需要检查HttpMethod是否是HEAD请求;在这种情况下,您无法向OutputStream写入字节,尝试这样做会引发您正在获得的异常。

Chrome 的ProtocolViolationException

相关文章: