System.Net.WebException: Der Vorgang hat das Zeitlimit überschritten bei System.Net.HttpWebRequest.GetResponse

Ich versuche zu navigieren, werden einige Webseiten, aber manchmal erhalte ich "der Vorgang hat das Zeitlimit überschritten" - Fehler.. manchmal funktioniert es Tage ohne Fehler..
Nachdem Sie erhalten die Fehlermeldung, wenn ich versuche zu navigieren, die aus Web-Browser, navigieren, ohne jedes problem, aber wenn ich navigieren möchten mit webrequest wieder, bekomme ich diese Fehlermeldung wieder...

Habe ich tryied zu setzen ReadWriteTimeout und Timeout-Eigenschaft von 2-3 Minuten, bis zum unendlichen.. noch ohne Glück 🙁

hier ist mein code:

static void setHeaders(ref WebRequest reqPOST, string sUrl)
{
reqPOST = System.Net.WebRequest.Create(sUrl);
reqPOST.Method = "GET";
((HttpWebRequest)reqPOST).UserAgent = "dummie useragent";
((HttpWebRequest)reqPOST).Accept = "*/*";
((HttpWebRequest)reqPOST).KeepAlive = true;
((HttpWebRequest)reqPOST).Timeout = Timeout.Infinite;
reqPOST.Headers.Add("Accept-Language", "en-US");
reqPOST.Headers.Add("Accept-Encoding", "gzip, deflate");
}

static void getResponse(ref WebRequest reqPOST, ref WebResponse result, ref StreamReader reader, ref string responseFromServer)
{
result = reqPOST.GetResponse();
if (result.Headers.Get("Content-Encoding") != null && result.Headers.Get("Content-Encoding").ToLower() == "gzip")
    reader = new System.IO.StreamReader(new GZipStream(result.GetResponseStream(), CompressionMode.Decompress));
else
    reader = new System.IO.StreamReader(result.GetResponseStream());
responseFromServer = reader.ReadToEnd();
}
setHeaders(ref reqPOST, "somewebsite");
getResponse(ref reqPOST, ref result, ref reader, ref responseFromServer);
reader.Close();
result.Close();

irgendwelche Ideen, bitte ? danke.

  • Dies ist nicht der Fehler, aber man sollte recherchieren, was ref tut. Sie scheinen zu kommen aus einem C++ - hintergrund.
InformationsquelleAutor user1693813 | 2014-07-05
Schreibe einen Kommentar