Laden...

Große Dateien per WebRequest versenden

Erstellt von S.R. vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.245 Views
S
S.R. Themenstarter:in
221 Beiträge seit 2007
vor 8 Jahren
Große Dateien per WebRequest versenden

Hallo,

ich möchte an unseren IIS 8 größere Daten per C#-WebRequest verschicken. Dafür habe ich grob in C#-Sharp folgendes gecodet:


HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
string postData = Request;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/soap+xml; charset=utf-8";
request.ContentLength = byteArray.Length;
request.KeepAlive = true;
request.Timeout = 5400000; // 90 Minuten, default 100 Sek.
request.Proxy = null;

Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string result = reader.ReadToEnd();

Wenn mein Übergabewert "postData" aus ein paar Zeichen besteht, dann klappt dies tadellos; sind es allerdings ein paar MB (aktuell 24 zum Testen), dann bricht der Code mit dem Fehler "400 Ungültige Anforderung" ab.

Ich bin zu 100% davon überzeugt, dass dies "nur" n' kleine IIS-Servereinstellung und ich dort in ein Timeout versus Speicherbegrenzung laufe. Folgende Werte habe ich bereits angepasst:

<httpRuntime executionTimeout="5400" maxRequestLength="102400" maxQueryStringLength="102400" />

Trotzdem knallt es - selbst nach einem Neustart. Jemand n' Idee, wo mein Fehlerchen liebt bzw. wo ich als nächstes drauf schauen sollte... bin nämlich aktuell was Ideenlos 😃

DANKE!

Gruß

Stefan

16.806 Beiträge seit 2008
vor 8 Jahren

Http 400 kann alles sein. Genaue Fehlermeldung?
Da muss mehr kommen als nur "Invalid Request".

Je nach Security kann es auch an maxAllowedContentLength liegen.

Edit: grade mit WCF verwechselt. Oder handelt es sich hier um WCF, weil ContentType = SOAP ?

S
S.R. Themenstarter:in
221 Beiträge seit 2007
vor 8 Jahren

den Security-Eintrag habe ich auch schon drinnen, hilft aber genauso wenig 😃

<requestLimits maxAllowedContentLength="104857600" />

Jetzt schau ich erstmal, wie ich den IIS dazu motiviert bekomme mir mehr Infos anzuzeigen - weil irgendwie will er das momentan nicht 😃