Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > C# httpwebrequest, вылетает timeout


Автор: Dumpty 29.1.2010, 20:29
Добрый день.
Посмотрел топик: http://forum.vingrad.ru/topic-248207.html, попробовал тоже позакрывать WebResponse.Close();, не помогло. Проблема по сути идентичная...
Программка, делает пост запросы циклически на один и тот же сайт. Сделав 1-20 запросов, сайт постоянно начинает выдавать таймаут...
Пробовал также:
Цитата

1 req.TimeOut() -- вплоть до 20 000 не помогает, а дальше смысла вроде как и нет ставить ...
2 Thread.Sleep(20)
3 WebResponse.Close();


Не помогло...
Вот кусок кода:
Код

 try
                        {
                            HttpWebRequest myHttpWebRequest5 = (HttpWebRequest)HttpWebRequest.Create(my_linkex);
                            //myHttpWebRequest5.Proxy = new WebProxy("127.0.0.1", 8888);
                            myHttpWebRequest5.Method = "POST";
                            myHttpWebRequest5.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
                            myHttpWebRequest5.Accept = "*/*";
                            myHttpWebRequest5.Headers.Add("Accept-Language", "en");
                            myHttpWebRequest5.Headers.Add("Accept-Encoding", "gzip, deflate");
                            myHttpWebRequest5.ContentType = "application/x-www-form-urlencoded";
                            myHttpWebRequest5.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
                            myHttpWebRequest5.Timeout = 30000;
                            myHttpWebRequest5.KeepAlive = true;
                            myHttpWebRequest5.CookieContainer = Coooo55;
                            //myHttpWebRequest5.CookieContainer = Coooo;
                            // ставим False, чтобы при получении кода 302 не делать автоматический редирект
                            myHttpWebRequest5.AllowAutoRedirect = false;
                            // передаем параметры


                            sQueryString = "ЗАПРОС";

                            byte[] ByteArr5 = System.Text.Encoding.GetEncoding(1251).GetBytes(sQueryString);
                            myHttpWebRequest5.ContentLength = ByteArr5.Length;
                            myHttpWebRequest5.GetRequestStream().Write(ByteArr5, 0, ByteArr5.Length);
                            // делаем запрос
                            HttpWebResponse myHttpWebResponse5 = (HttpWebResponse)myHttpWebRequest5.GetResponse();

                            ////REPLY AFTER SUBMITTING POST
                            StreamReader myStreamReaderFINAL5 = new StreamReader(myHttpWebResponse5.GetResponseStream(), Encoding.GetEncoding(1251));

                            myHttpWebResponse5.Close();
                            myHttpWebRequest5.Abort();
                            myStreamReaderFINAL5.Close();

                        }

                        catch (Exception exc)
                        {
                            Console.WriteLine(exc.Message);
                        }

Автор: Dumpty 31.1.2010, 17:40
Никто не сталкивался? Хоть куда копать, в сторону кода или же сервера

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)