Имеется непонятное поведение консольного приложения, использующего SmartTrader. А именно самопроизвольное закрытие консольного приложения ровно через 10 минут с момента создания экземпляра класса SmartTrader. При это даже не обязательно вызывать метод Connect().
Код
...
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-х битную систему)