Отработка Connect / Reconnect~/topic/1431/otrabotka-connect--reconnect/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T13:08:12Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/6569/Спасибо. Но для особо тупых было бы неплохо упомянуть такую фичу в документации :-)2011-03-10T18:34:17Z2011-03-10T18:34:17Zigorkhttps://stocksharp.ru/users/6303/info@stocksharp.ruСпасибо. Но для особо тупых было бы неплохо упомянуть такую фичу в документации :-)Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/6543/this.objMainTrader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime; По идее это означает...2011-03-10T04:00:30Z2011-03-10T04:00:30ZGreene-nskhttps://stocksharp.ru/users/27932/info@stocksharp.ruthis.objMainTrader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;<br /><br />По идее это означает, что переподключение должно производиться только во время работы RTS. Естественно, ночью переподключения не будет.<br /><br />Попробуйте Exchange.Test.WorkingTime, которая не имеет ограничений времени.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/6541/Михаил, в соответствии с примерами, дизайним форму, на которой две кнопки Connect и Disconnect. Поле...2011-03-09T21:48:01Z2011-03-09T21:48:01Zigorkhttps://stocksharp.ru/users/6303/info@stocksharp.ruМихаил, в соответствии с примерами, дизайним форму, на которой две кнопки Connect и Disconnect. Полезной нагрузки нет. <br /><br />Код кнопки Connect:<br /><br />....<br /><br /> if (this.objMainTrader == null)<br /> {<br /><br /> this.objMainTrader = new SmartTrader(strLogin, strPWD, objIPEndPoint);<br /> this.objMainTrader.Connected += () => { this.SmartConnectStatusSucced(); };<br /> this.objMainTrader.ConnectionError += error => { this.SmartConnectStatusFailed(error); };<br /> this.objMainTrader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);<br /><br /> this.objMainTrader.ReConnectionSettings.ConnectDisconnectTimeOutInterval = TimeSpan.FromSeconds(60);<br /><br /> this.objMainTrader.ReConnectionSettings.ReConnectingAttemptCount = 1000; // здесь пробовал -1, на поведение не влияет<br /><br /> this.objMainTrader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;<br /> this.objMainTrader.ReConnectionSettings.ConnectionAttemptError += error =><br /> { this.SmartReConnectStatusFailed(error); };<br /><br /> this.objMainTrader.ReConnectionSettings.ConnectionRestored += () =><br /> { this.SmartReConnectStatusSucced(); };<br /><br /> }<br /><br /> // try to connect to the server<br /> if (!this.objMainTrader.IsConnected)<br /> this.objMainTrader.Connect(); <br /> <br />.....<br /><br />Все функции, которые вызываются, тупо создают соединение с базой SQL Server и пишут сообщение с именем вызванной функции. Итого, что происходит. <br /><br />При нажатии кнопки Connect код аккуратно отрабатывает, и SmartConnectStatusSucced тоже. <br />Далее, на виртуальной машине (Tools -> Settings) отключаем сетевую карту. Очень быстро отрабатывает SmartConnectStatusFailed, в журнал записывается следующее сообщение:<br /><br /><Timeout detected. Check your internet connectivity or event handler code>. <br /><br />Далее я ожидаю, что в соответствии с настройками ReconnectionSettings, objMainTrader будет пытаться производить повторное подключение. Ждем 5 минут, но ничего не происходит. Выставленные в отладчике точки прерывания тоже не срабатывают. <br /><br />Обратно возвращаемся к настройкам виртуальной машины, и возвращаем на место сетевой адаптер. Сеть восстанавливается, но объект этого не замечает. <br /><br />Прошу подсказать, что делаю не так. Возможно, нужно запустить какие-то операции, обращаться к объекту и т.п., чтобы код переподключения заработал?<br /><br />P.S. Библиотеки версии 3.0.8. <br />P.P.S. Готов выложить проект, скриншоты и how to reproduce, но форум не позволяет. <br />P.P.P.S. Может ли причина заключаться в том, что тесты производятся в ночное время? :-) Если да, то исчезнет ли проблема, если подменить WorkingTime?<br /><br />Спасибо. <br />Copyright @ StockSharp Platform LLC 2010 - 2024