HttpWebRequest.GetResponse: « La connexion sous-jacente a été fermée: Une erreur inattendue est survenue sur une réception. »

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

Question

J'ai écrit un service Windows C # (.NET Framework 3.5, C # 3.0) que les fichiers messages et informations de formulaire HTML à un serveur distant, puis stocke la réponse du serveur XML dans une base de données. Voici le morceau principal code pertinent:

    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;

Mon service fonctionne correctement pour tous les petits fichiers, mais je reçois l'erreur suivante lorsque je tente d'envoyer des fichiers plus volumineux (8-9 Mo).

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

Je regarde la demande sortante à l'aide Fiddler, et a pu glaner les informations suivantes:

    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.

L'échec se produit ~ 7 minutes après l'appel I request.GetResponse () . Est-il possible d'identifier qui a fermé la connexion? Et est-il autre chose que je devrais essayer sur ma fin pour résoudre ce problème? Merci à l'avance!

Était-ce utile?

La solution

Puisque vous le dites de travail pour les petits fichiers, mais pas plus, je vous suggère de vérifier la taille de téléchargement de fichiers max sur le serveur. Je crois que la valeur par défaut est 4MB. http://support.microsoft.com/kb/295626

EDIT: Remarqué le lien ci-dessus est un peu obsolète. Voici un pour IIS7: http://www.cyprich.com/2008/06/19/fixing-file-upload-size-limit-in-iis-7/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top