HttpWebRequest.GetResponse: „Die zugrunde liegende Verbindung wurde geschlossen: Ein unerwarteter Fehler ist aufgetreten auf einem zu erhalten.“

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

Frage

Ich habe einen C # Windows-Dienst (.NET Framework 3.5, C # 3.0) geschrieben, die Dateien und HTML-Formular Informationen an einen Remote-Server und speichern dann die XML-Server-Antwort in einer Datenbank. Hier ist das Haupt Batzen relevanten Code:

    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;

Mein Service funktioniert für alle kleinen Dateien, aber ich bekomme die folgende Fehlermeldung, wenn ich versuche, größere Dateien zu senden (8-9 MB).

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

Ich schaute auf der ausgehenden Anfrage mit Fiddler und konnte die folgenden Informationen abzulesen:

    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.

Der Fehler tritt auf ca. 7 Minuten, nachdem ich Aufruf request.GetResponse () . Gibt es eine Möglichkeit zu erkennen, der die Verbindung geschlossen? Und gibt es etwas anderes soll ich an meinem Ende versuchen, dieses Problem zu lösen? Vielen Dank im Voraus!

War es hilfreich?

Lösung

Da du es erwähnst für kleine Dateien zu arbeiten, aber nicht größer ist, würde ich vorschlagen, die maximale Dateigröße zum Hochladen auf den Server zu überprüfen. Ich glaube, dass der Standardwert ist 4 MB. http://support.microsoft.com/kb/295626

EDIT: Bemerkt den Link oben ist etwas veraltet. Ist hier ein für iis7: http://www.cyprich.com/2008/06/19/fixing-file-upload-size-limit-in-iis-7/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top