He desarrollado una herramienta de administración donde uso un HTTPListener simple para devolver páginas HTML. Todo funciona bien con IE y FF pero me estoy poniendo un ProtocolViolationException al utilizar Google Chrome .Obtener una ProtocolViolationException con Google Chrome y HTTPListener
Este es el código simplificado (levantado de listener.BeginGetContext) que produce el error:
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();
La excepción
Bytes que se escriben en la corriente supere los bytes Content-Length tamaño especificado.
se lanza desde la línea de
context.Response.OutputStream.Write (buffer, 0, buffer.Length);
¿Qué Chrome hace o deja de hacer para producir este error?
Gracias
Para el registro, al menos debe llamar de cerca al flujo de respuesta cuando recibe una solicitud HEAD, de lo contrario, se quedará atascado. – pierrecouzy