|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.07.2017, 14:54 | #1 |
Регистрация: 16.05.2014
Сообщений: 3
|
Время ожидания операции истекло
************** Текст исключения **************
System.Net.WebException: Время ожидания операции истекло в System.Net.HttpWebRequest.GetRespon se() в BOT.Get_http.GET_http(String url) в c:\Users....BOT\Get_http.cs:строка 20 в BOT.Form1.MainTimer_Tick(Object sender, EventArgs e) в c:\Users...BOT\Form1.cs:строка 63 в System.Windows.Forms.Timer.OnTick(E ventArgs e) в System.Windows.Forms.Timer.TimerNat iveWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.C allback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) Может кто подскажет, как избежать подобную проблему? Программа посылает get запрос по таймеру каждые 3 секунды (желательно делать запрос максимально часто). Бывает выскакивает подобное исключение. Насколько я понимаю ответ иногда не успевает прийти за эти 3 секунды, а таймер уже должен сработать, но код висит на месте, ожидая ответ от сервера. Так ли это? Как реализовать код чтобы избежать подобное? Всё работает в одном потоке. |
05.07.2017, 15:48 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Зачем нужен таймер? Получили ответ - сразу отправляйте новый запрос, вот и будет максимально часто. или просто оберните всё в try catch блок для подавления исключения. На одном тике таймера поломалось - на следующем заработает как нужно.
|
05.07.2017, 16:38 | #3 |
Регистрация: 16.05.2014
Сообщений: 3
|
Без таймера отправляя постоянно новый запрос в цикле интерфейс виснет и не обновляются datagridview и label. С потоками немного знаком, но решить задачу с помощью них не смог. Необходимо из нового потока передавать данные в первый поток, но там надо будет использовать метод invoke, с этим у меня проблемы
|
07.07.2017, 10:48 | #4 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Забудьте про таймеры - это пережиток однопроцессорных систем. Для программирования на таймерах уже лет 15 ниче нового.
Делайте на потоках. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ODBC SQL Server Driver. Истекло время ожидания запроса | Maxjuvefan | БД в Delphi | 3 | 17.09.2015 02:27 |
Время ожидания подключения к БД | Pavlov_yu | Microsoft Office Excel | 0 | 27.02.2015 05:31 |
Истекло время ожидания (Timeout). Время ожидания истекло до завершения операции или сервер не отвечает. | kgs_forum | C# (си шарп) | 1 | 20.08.2013 20:14 |
Время ожидания истекло | Swatch | Microsoft Office Access | 3 | 05.12.2012 13:06 |
Ошибка "Время ожидания истекло" | Kveldulv | Microsoft Office Excel | 0 | 16.02.2010 13:31 |