|
HttpWebRequest Зависает надолго, несмотря на указаный TimeOut
|
|||
---|---|---|---|
#18+
Иногда подвисает HttpWebRequest не смотря на заданый таймаут в 30 000 милисекунд. В програме этот метод вызывается из гланого (GUI) потока (не надо плеваться. сам знаю), когда запрос зависает спасает только диспетчер задач Кто может подсказать почему запрос иногда зависает и как это можно обойти? спасибо код приведён ниже Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 16:41 |
|
HttpWebRequest Зависает надолго, несмотря на указаный TimeOut
|
|||
---|---|---|---|
#18+
Strassebahn, есть ли в сети прокси? Может он как-то придерживает твои соединения так что код считает, что таймаут не достигнут. Ради эксперимента можно ReadWriteTimeout уменьшить, но по логике общий таймаут в 30 секунд все равно принимается во внимание методами GetResponse/GetReponseStream. Еще я бы попробовал KeepAlive=false чтобы сервер сам закрыл соединение после отправки всех данных. Все равно код запрашивает только один ресурс так что KeepAlive=true никакой пользы не несет. В коде есть пара непонятных мне моментов, которые не относятся к описаннй проблеме, но тем не менее. - ContentType = "application/x-www-form-urlencoded" используется только для post запросов. - Ты выставляешь Accept заголовок где есть двоичные файлы, но код может обработать только текстовые файлы. Я бы вообще убрал инциализацию по умолчанию для Accept. - Для работы с Cookie есть специальный класс CookieContainer. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 17:53 |
|
HttpWebRequest Зависает надолго, несмотря на указаный TimeOut
|
|||
---|---|---|---|
#18+
Прокси нет. Зависает только при определюнном аддресе (раз из 10) Никогда не пользовался CookieContainer :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 18:13 |
|
HttpWebRequest Зависает надолго, несмотря на указаный TimeOut
|
|||
---|---|---|---|
#18+
StrassebahnЗависает только при определюнном аддресе (раз из 10) Устрой для этого адреса стресс-тест с паралельно запущеным Fiddler или сетевым анализатором чтобы понять на какой фазе обмена происходит подвисание. StrassebahnНикогда не пользовался CookieContainer Пора начинать значит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 18:25 |
|
HttpWebRequest Зависает надолго, несмотря на указаный TimeOut
|
|||
---|---|---|---|
#18+
авторУстрой для этого адреса стресс-тест с паралельно запущеным Fiddler или сетевым анализатором чтобы понять на какой фазе обмена происходит подвисание. Зависание происходит на Код: c# 1.
Конечто я использую Fiddler :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 18:28 |
|
|
start [/forum/topic.php?fid=20&tid=1404576]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 185ms |
0 / 0 |