我开发了一个管理工具,使用简单的HTTPListener返回HTML页面。在IE和FF中一切正常,但是在使用Google Chrome时会出现ProtocolViolationException异常。
下面是产生错误的简化代码(从listener.BeginGetContext提升):
下面是产生错误的简化代码(从listener.BeginGetContext提升):
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("<html><body>response sent!</body></html>");
context.Response.ContentLength64 = buffer.Length;
context.Response.OutputStream.Write(buffer, 0, buffer.Length); //<-- crashes here
context.Response.OutputStream.Close();
context.Response.Close();
这个异常
即将写入流的字节数超过了指定的Content-Length字节数大小。
这个异常是由以下代码所在的行引发的:
context.Response.OutputStream.Write(buffer, 0, buffer.Length);
Chrome浏览器出现这个错误的原因及解决方法如何?
谢谢