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);
}
}
并非每次出现请求时都会出现此异常。谁能告诉我怎么修。谢谢!
您似乎遇到了与下面的问题相同的问题。您需要检查HttpMethod是否是HEAD请求;在这种情况下,您无法向OutputStream写入字节,尝试这样做会引发您正在获得的异常。
Chrome 的ProtocolViolationException