Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.08.2014, 15:13
|
|||
---|---|---|---|
|
|||
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
Привет. Подскажите пожалуйста, как правильно перевести код, использующий HttpWebRequest на WebClient. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Я не пойму, куда в WebClient нужно записывать сам запрос (string request). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2014, 15:16
|
|||
---|---|---|---|
|
|||
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
Вообще. Решил перевести на WebClient из-за таймаута с ответом. Сервер может прислать ответ через 5-10 секунд... А я сейчас просто сразу же запрашиваю ответ, через httpWebRequest.GetResponse().GetResponseStream() И частенько, когда сервер загружен, я не получаю ответа. Прочитал, что в WebClient'е вроде бы эти проблемы решены. Он сам позаботится о таймауте, и даст ответ когда он будет готов. Поэтому и решил, что нужно переделать на WebClient. Но не могу понять как... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2014, 16:34
|
|||
---|---|---|---|
|
|||
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
И еще вопрос. Собственно проблема в том, что после var responce = httpWebRequest.GetResponse().GetResponseStream(); идет считывание данных из стрима. И периодически (как я понимаю, если сервер занят) - стрим оказывается пустой. Я это понимаю, как то, что сервер просто не ответил ПОКА. А разве не должен метод GetResponse() сам висеть, пока не придет какой-либо ответ (ответ, или ошибка) ? Поэтому нужно самому делать какую-то реализацию таймаута на ожидание ответа... Но думаю, может WebClient в этом плане лучше ? Может он сам занимается этой мелкой оптимизацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2014, 16:46
|
|||
---|---|---|---|
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
вот тут посмотрите: http://msdn.microsoft.com/ru-ru/library/1t38832a(v=vs.110).aspx если вы про ассинхронную обработку возвращаемых данных говорите, там есть ссылочка : http://msdn.microsoft.com/ru-ru/library/86wf6409(v=vs.110).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2014, 17:03
|
|||
---|---|---|---|
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
РостигайПрочитал, что в WebClient'е вроде бы эти проблемы решены Что там может решено? Если сервер не отдает данные, то хоть 10 WebClient, быстрее их не получишь. Если речь идет о большем времени ожидания, так и у Request есть соответствующее свойство РостигайПоэтому и решил, что нужно переделать на WebClient По логике с него нужно начинать, и переходить на реквесты в случае тонкой настройки. Так что мысль о замене HttpWebRequest на WebClient считаю правильной. РостигайСобственно проблема в том, что после var responce = httpWebRequest.GetResponse().GetResponseStream(); идет считывание данных из стрима Неверно. Здесь открывается поток для чтения, но не факт, что там есть данные РостигайА разве не должен метод GetResponse() сам висеть, пока не придет какой-либо ответ (ответ, или ошибка) ? Нет. За факт наличия данных, доступных для чтения, отвечает NetworkStream.DataAvailible. WebClient берет решение проблемы корректного получения данных на себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2014, 20:42
|
|||
---|---|---|---|
|
|||
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
Konst_One, По ссылке расписано как работать с WebRequest WebResponce. А я как раз хочу от них уйти.... Мне нужно понять как через WebClient передать данные запроса, и получить ответ (см мой код). Arm79, Можете подсказать, как в WebClient реализовать отдачу запроса и получения ответа ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2014, 21:37
|
|||
---|---|---|---|
|
|||
Как переделать HttpWebRequest на WebClient ? |
|||
#18+
с вебклиентом всё как всегда легко и просто: Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1402584]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 169ms |
0 / 0 |