2

HttpListenerをベースにWebサーバーのコードを書いているのですが、そのような例外がよく発生します

「System.Net.ProtocolViolationException: ストリームに書き込まれるバイトが、指定された Content-Length バイト サイズを超えています」。

サンプルコード:

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);
    }
}

この例外は、リクエストが発生するたびに発生するわけではありません。誰がそれを修正する方法を教えてくれますか。ありがとう!

4

1 に答える 1