Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Зависает GetRequestStream  [new]
ИльяL
Member

Откуда:
Сообщений: 46
Здравствуйте.

есть программа (фрагмент кода ниже), она конектится на сайт и скачивает там нужную страницу. при первом обращении все происходит как положено, но если вызвать функцию повторно, программа зависает в этом месте: myHttpWebRequest.GetRequestStream().Write(ByteArr, 0, ByteArr.Length);

пожалуйста помогите разобратся в чем причина зависания.

 string query = radTextBox1.Text;

            HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://tisauto.ru/");

            //myHttpWebRequest.Proxy = new WebProxy("127.0.0.1", 8888);
            myHttpWebRequest.UserAgent = "Mozila/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;";
            myHttpWebRequest.Accept =
                "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
            myHttpWebRequest.Headers.Add("Accept-Language", "ru");
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            string sCookies = "";
            if (!String.IsNullOrEmpty(myHttpWebResponse.Headers["Set-Cookie"]))
            {
                sCookies = myHttpWebResponse.Headers["Set-Cookie"];
            }

            myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://tisauto.ru/search.aspx");
            //myHttpWebRequest.Proxy = new WebProxy("127.0.0.1", 8888);
            myHttpWebRequest.Method = "POST";
            myHttpWebRequest.Referer = "http://yandex.ru";
            myHttpWebRequest.UserAgent = "Mozila/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;";
            myHttpWebRequest.Accept =
                "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
            myHttpWebRequest.Headers.Add("Accept-Language", "ru");
            myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
            // передаем куки, полученные в предыдущем запросе
            if (!String.IsNullOrEmpty(sCookies))
            {
                myHttpWebRequest.Headers.Add(HttpRequestHeader.Cookie, sCookies);
            }
            // ставим False, чтобы при получении кода 302 не делать автоматический редирект
            myHttpWebRequest.AllowAutoRedirect = false;
            // передаем параметры
   
            string sQueryString =
                @"__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE5NDYxNDc2NzkPZBYCAgMPZBYKZg9kFgICBA8WAh4EaHJlZgUfL2RpcmVjdC9yZW1pbmRwYXNzd29yZGZvcm0uYXNweGQCAQ8WAh4HVmlzaWJsZWhkAgIPDxYEHghJbWFnZVVybAUML2lpL25ld3MuZ2lmHwFoZGQCBg8WAh8BaGQCCQ9kFgJmD2QWBmYPZBYCAgsPEGQPFpkBZgIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ%2FAoABAoEBAoIBAoMBAoQBAoUBAoYBAocBAogBAokBAooBAosBAowBAo0BAo4BAo8BApABApEBApIBApMBApQBApUBApYBApcBApgBFpkBEAUb0JLRgdC1INC%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%2B0LLQvtC5ICkFAjEyZxAFHVRydWNrVGVjICgg0JvQtdCz0LrQvtCy0L7QuSApBQI3M2cQBQxUcnVja1RlY2huaWMFAjIyZxAFA1RSVwUDMTgwZxAFBVVOSUNPBQIxOWcQBQVVU01FUgUDMTA2ZxAFA1ZBRwUCNTNnEAUJVmFuIFdlemVsBQMyMTJnEAUMVmljdG9yIFJlaW56BQIxNmcQBQZWSUVST0wFAzE1NWcQBQ5WT0xWTyBPUklHSU5BTAUCMzdnEAUFV0FCQ08FAzIwMGcQBQdXZWJhc3RvBQI2M2cQBQdXZXdlbGVyBQMyMzhnEAUIWW9rb2hhbWEFAzE2NmcQBQJaRgUDMTcyZxAFG9C80LDQs9Cw0LfQuNC9INCc0L7RgdC60LLQsAUCNTdnZGQCBA8PFgQeBFRleHQFK9CS0YHQtdCz0L4g0L3QsNC50LTQtdC90L4g0LTQtdGC0LDQu9C10Lk6IDAfAWdkZAIGD2QWAmYPFgIeAnBuAgFkGAIFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYFBQpjYlJlbWVtYmVyBQ9jdGwwMCRjYkFydGljdWwFDGN0bDAwJGNiTmFtZQUPY3RsMDAkY2JSZXF1aXJlBQ9jdGwwMCRjYkFuYWxvZ3MFC2NvbnREZWZhdWx0DxQrAAFmZKKKLT%2BOb2UBhpEGb1yjMD4DfzAd&tbEmail=&cbRemember=on&tbPassword=&tbQuery=&ctl00%24tbQuery=" +
                query +
                "&ctl00%24cbArticul=on&ctl00%24ddlMfg=0&ctl00%24tbPriceMin=&ctl00%24tbPriceMax=&ctl00%24cbAnalogs=on&ctl00%24btnSearch=%C8%F1%EA%E0%F2%FC";

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

            StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream(),
                                                           Encoding.GetEncoding(1251));

            

        
7 июл 10, 20:24    [9067353]     Ответить | Цитировать Сообщить модератору
 Re: Зависает GetRequestStream  [new]
ИльяL
Member

Откуда:
Сообщений: 46
все разобрался. использовал GC.Collect();
7 июл 10, 20:48    [9067428]     Ответить | Цитировать Сообщить модератору
 Re: Зависает GetRequestStream  [new]
nanoBOT
Member

Откуда:
Сообщений: 1
ИльяL,
если не сложно - подскажите как (примером) GC от зависания помогает?
27 окт 10, 01:06    [9681853]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить