2016-04-06 22 views
0

Ich habe eine WebRequest als diese aber ich lade große Dateien mit diesem und gibt Timeouts mit großen Dateien, aber ich bin nicht in der Lage, das Timeout auf unbegrenzte oder mindestens 10 Minuten zu verlängern, jemand weiß, wie zu tun ist Dies?Timeout auf einem GET Webrequest

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri); 
httpWebRequest.CookieContainer = user.cookies; 
httpWebRequest.Host = uri.Host; 
httpWebRequest.Method = WebRequestMethods.Http.Get; 
httpWebRequest.Accept = user.post_headers.FirstOrDefault(x => x.Key == 8).Value; 
httpWebRequest.UserAgent = user.post_headers.FirstOrDefault(x => x.Key == 4).Value; 
httpWebRequest.AllowWriteStreamBuffering = true; 
httpWebRequest.ProtocolVersion = HttpVersion.Version11; 
httpWebRequest.AllowAutoRedirect = true; 
httpWebRequest.KeepAlive = true; 
HttpWebResponse response_posts = (HttpWebResponse)httpWebRequest.GetResponse(); 

using (httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse()) 
{ 

Antwort

0

Sie sollten die Timeout Property auf dem HttpWebRequest Objekt

HttpWebRequest.Timeout Property

# EDIT 1 festlegen, um:

Es scheint tatsächlich, dass die Timeout-Eigenschaft auswirken kann auf die erste Verbindung und diktiert nicht die Zeitüberschreitung für den Empfang von Informationen in GetResponse()

"Dies ist die Zeit, in der der Server auf eine Anforderung reagiert und nicht auf die Zeit wartet, bis der Server antwortet und alle Daten sendet."

Dies steht jedoch im Widerspruch zu dem, was MSDN angibt.

"Das Timeout gilt für die gesamte Anfrage und Antwort, nicht individuell für die Methodenaufrufe GetRequestStream und GetResponse."

So könnten Sie auch versuchen, die ReadWriteTimeout Eigenschaft zu setzen.

HttpWebRequest.ReadWriteTimeout Property

+0

Ja ich dies schon underfinded, wenn Sie auf Minuten senden es Minuten nur wartet auszuführen)))) Ich werde die ReadWriteTimeOut versuchen – user3763117

0

Dies ist eine weitere Lösung

request.Headers["timeout"] = "300"; // in seconds