Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

При загрузке страницы из сервера программа иногда очень долго пытается ее получить

37K
26 февраля 2012 года
Tolias28
48 / / 20.09.2010
Получаю страницу с сервера вот так:
Код:
WebResponse response;
                    Stream receiveStream;
                    StreamReader readStream;
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(stringFaveUrl);
                    request.UserAgent = stringUserAgent;
                    request.Timeout = timeout * 1000;
                    request.CookieContainer = userData.cookie;
                    //swlog.WriteLine(DateTime.Now + ": request.GetResponse()"); swlog.Flush();
                    response = request.GetResponse();
                    receiveStream = response.GetResponseStream();
                    readStream = new StreamReader(receiveStream, Encoding.Default);
                    content = readStream.ReadToEnd();

Все нормально пашет. Но вот только иногда программа очень долго(до 5 минут доходило) выполняет эту строку:
 
Код:
content = readStream.ReadToEnd();

после чего падает в Exception. Я так понял, иногда программа не может получить ответ от сервера и продолжает ждать. Это исключение я отлавливаю. Но вот как можно ограничить это ожидание например до 15 секунд? чтобы оно не длилось несколько минут...
для request я таймаут в 15 секунд выставил, но программа по прежнему иногда зависает на несколько минут на строке получения контента. Как решить проблему?
5
28 февраля 2012 года
hardcase
4.5K / / 09.08.2005
Нужно читать из потока асинхронно: http://msdn.microsoft.com/en-us/library/system.io.stream.beginread.aspx
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог