Ровно через 10 минут закрывается консольное приложение


Ровно через 10 минут закрывается консольное приложение
Atom
12/27/2012


Имеется непонятное поведение консольного приложения, использующего SmartTrader. А именно самопроизвольное закрытие консольного приложения ровно через 10 минут с момента создания экземпляра класса SmartTrader. При это даже не обязательно вызывать метод Connect().

Code

...
static void Main()
{
    Console.WriteLine(" Press any key to continue. #1");
    Console.ReadKey(true);

    SmartTrader trader = new SmartTrader(login, password);

    Console.WriteLine(" Press any key to continue. #2");
    Console.ReadKey(true);
    ...
}


Т.е. в "месте #1" программа может находиться любое время, пока не будет нажата любая клавиша. В тоже время после создания объекта "trader", в "месте #2", если не будет нажимата никакая из клавиш, то программа проработает ровно 10 минут с момента создания экземпляра класса SmartTrader, после чего консольное приложение автоматически завершиться. При этом если даже весь код в методе main() обернуть в контрукцию try ... catch ..., то в область catch мы не попадаем и как бы никаких исключительных ситуаций не происходит. Более того, даже обернув весь код в методе main() в конструкцию try ... finally ..., то в область finally мы почему-то тоже не попадаем ((( При этом никаких сообщений об ошибках и прочее ни на экран, ни в консоль не выводится.
В итоге единственное что есть в остатке после завершения приложения это все лишь код завершения программы равный "-1":
"The program '[8792] SampleSmartConsole.vshost.exe: Managed (v4.0.30319)' has exited with code -1 (0xffffffff)."

На самом деле к такому (код выше) упрощенному варианту кода я дошел естественно от реального кода. При этом в реальном коде, есть рабочий робот, который выполняет подключение к СмартКому, принимает потоки, отправляет заявки и вообще отлично работает и делает все, что от него требуется, но, к сожалению, всего 10 минут, после чего консольная программа схлопывается.

Самое интересное, что для такого поведения программы (схлопывания) даже не обязательно иметь установленный SmartCOM, в этом удостоверился, проверяя упрощенный код на другом компьютере, где вообще не стоял СмартКом (после установки СмартКом на этот компьютер, поведение не изменилось ).

Самое обидное, что даже зацепиться не за что в этой проблеме, просмотрел ветки форума по SmartCOM-у тоже ничего подобного не увидел, что еще более странно.

Версии ПО:
StockSharp - 4.1.1.
SmartCOM - 2.2.
Windows 7 64 bit (исходные коды скомпилированы под 32-х битную систему)

Tags:


Thanks:


Alexander

Avatar
Date: 12/27/2012
Reply


Лицензию получите.
Если б подписались на событие ProcessDataError - увидели бы ошибку сами
Thanks:

StockSharp

Avatar
Date: 12/27/2012
Reply


Сервер лицензий временно не работает, возможно что старая лицензия полетела, напишите на info ваш идентификатор, вышлем новую лицензию.
Thanks:

Aleksey Bulygin

Avatar
Date: 12/28/2012
Reply


Лицензия была, при этом рабочая, может и правда полетела. Спасибо, пришлю идентификатор.

Когда начинал писать робота и возникли проблемы с лицензией (закончилась триальная на месяц), то при создании объектов появлялись ошибки, четко информирующие об отсутствии лицензии. Более того, еще раз внимательно изучив документацию, не нашел в ней ни одного упоминания про 10-ти минутный рабочий период библиотеки при нерабочей лицензии, поэтому первоначальные подозрения на ее счет были мной отвергнуты.
Thanks: Геннадий Ванин (Gennady Vanin)

Aleksey Bulygin

Avatar
Date: 12/28/2012
Reply


Новую лицензию пока не получил.
Решил попробывать добавить обработчик ProcessDataError, как советовал Александр, на описанных выше условиях. В итоге ничего не изменилось, а самое интересное то, что в этот обработчик программа не заходит, как и раньше просто рубится через 10 минут и все. Так что добавление этого обработчика, к сожалению, нисколько не просветило суть проблемы.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy