события не приходят после рестарта соединения
Запускаю МТС, вызываю RegisterTrades, RegisterSecurity, RegisterQuotes, подписываюсь на события, запускаю стратегии и т.п. Все работает хорошо.
Затем останавливаю SmartCOM службу. После этого мне приходят ошибки (ниже) и через некоторое время SmartCOM запускается и приходит событие ITrader.Connected. Там я еще раз вызываю StartExport().
После этого никакие события не приходят (NewTrades, SecuritiesChanged, etc)
Code
15.03.2011 18:34:47 [OpenWealth.StockSharp.TraderInitializator.Trader_ConnectionError] ERROR: Ошибка соединения System.InvalidOperationException: SmartCOM не ответил на проверку живой-мертвый. Возможно, приложение SmartCOM зависло. ---> System.Runtime.InteropServices.COMException (0x800706BA): Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)
в StClientLib.StServerClass.GetPrortfolioList()
в Ecng.Trading.Smart.SmartComWrapper.#=qzWktXLkWRXjcy$9UPCrTtQ==(StServer #=qDE$BkALBNSP6uOJFV2SnqQ==)
в Ecng.Trading.Smart.SmartComWrapper.#=q75j_Z5JSRxNkiXV88FHEug==(Action`1 #=qqKsTnjrmu7pdXnaFSMdxhw==)
в Ecng.Trading.Smart.SmartComWrapper.#=qPAmHhfnOqQs1DyOx22FKIQ==()
в Ecng.Trading.Smart.SmartComWrapper.#=qTEZcqzKAm3Cn_kD2t7aeIKtT$8TmHKRNuNLZRbKLg7U=.#=qGabvzGf2W3n6e2vvgzqGFyHO1jY9wiU5NLC9CPAX9gI=()
--- Конец трассировки внутреннего стека исключений --- (28181)
15.03.2011 18:35:02 [OpenWealth.StockSharp.TraderInitializator.Trader_ConnectionError] ERROR: Ошибка соединения System.Runtime.InteropServices.COMException (0x800706BA): Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)
в StClientLib.StServerClass.disconnect()
в Ecng.Trading.Smart.SmartComWrapper.#=qnCgDm1vHPvXpt7N3mOxtVy8NZjT2eQuyDSB5hXbNr7Q=(StServer #=qKUBRzCyeMBm8zUOTVMXn3A==)
в Ecng.Trading.Smart.SmartComWrapper.#=q75j_Z5JSRxNkiXV88FHEug==(Action`1 #=qqKsTnjrmu7pdXnaFSMdxhw==)
в Ecng.Trading.Smart.SmartComWrapper.Disconnect()
в Ecng.Trading.Smart.SmartTrader.OnDisconnect()
в Ecng.Trading.Algo.BaseTrader.Disconnect()
в Ecng.Trading.Algo.BaseTrader.#=qgA3BsOJZFeBWXFGAp7wz7Q==() (15052)
15.03.2011 18:35:03 [OpenWealth.StockSharp.TraderInitializator.<Init>b__2] Соединение установлено. (751)
15.03.2011 18:35:03 [OpenWealth.StockSharp.TraderInitializator.<Init>b__2] Запускаем экспорт Smart ... (0)
Установка соединения и запуск экспорта:
Code
// подписываемся на событие успешного соединения
this.Trader.Connected += () =>
{
this.IsConnected = true;
Log.Out("Соединение установлено.", LogLevel.notice);
// запускаем экпорт, если не запущен
if (!this.Trader.IsExportRunning)
{
Log.Out("Запускаем экспорт " + Const.TraderType + " ...", LogLevel.notice);
this.Trader.StartExport();
}
_ConnectHandle.Set();
};