HttpWebRequest.GetResponse: “la conexión subyacente se cerró: Se ha producido un error inesperado en un recibir”.

StackOverflow https://stackoverflow.com/questions/3197010

Pregunta

He escrito un servicio de Windows en C # (.NET Framework 3.5, C # 3.0) que publica archivos y la información de formulario HTML a un servidor remoto, y luego almacena la respuesta del servidor XML en una base de datos. Esta es la porción principal del código pertinente:

    HttpWebRequest request = WebRequest.Create(postUrl) as HttpWebRequest;

    request.ProtocolVersion = HttpVersion.Version10;
    request.KeepAlive = false;
    request.Timeout = 600000;
    request.ReadWriteTimeout = 600000;
    request.Method = "POST";
    request.ContentType = contentType;
    request.UserAgent = userAgent;
    request.CookieContainer = new CookieContainer();
    request.ContentLength = formData.Length;

    using (Stream requestStream = request.GetRequestStream())
    {
        // Push it out there
        requestStream.Write(formData, 0, formData.Length);
        requestStream.Close();
    }

    return request.GetResponse() as HttpWebResponse;

Mi servicio funciona correctamente para todos los archivos pequeños, pero me da el siguiente error al intentar enviar archivos más grandes (8-9 MB).

    The underlying connection was closed: An unexpected error occurred on a receive.

Me miró a la petición de salida usando violinista, y fue capaz de recoger la siguiente información:

    HTTP/1.1 504 Fiddler - Receive Failure
    Content-Type: text/html
    Connection: close
    Timestamp: 12:25:04.067

    ReadResponse() failed: The server did not return a response for this request.

Se produce el fallo de ~ 7 minutos después de que la llamada request.GetResponse () . ¿Hay alguna manera de identificar quién cerró la conexión? Y es que hay algo más que debería probar en mi fin de resolver este problema? Gracias de antemano!

¿Fue útil?

Solución

Ya que mencionas de trabajo para archivos pequeños, pero no más, me gustaría sugerir la comprobación del tamaño máximo de carga de archivos en el servidor. Creo que el defecto es de 4 MB. http://support.microsoft.com/kb/295626

EDIT: Notamos el enlace de arriba es un poco fuera de fecha. Aquí está uno para iis7: http://www.cyprich.com/2008/06/19/fixing-file-upload-size-limit-in-iis-7/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top