Поломался запуск экспорта кастомных таблиц DDE в 4.3.13

Поломался запуск экспорта кастомных таблиц DDE в 4.3.13


Когда запускаем экспорт одиночной таблицы через quikTrader.StartExport(table), все нормально, экспорт стартует. Для всех последующих таблиц запуск экспорта не срабатывает.
В лог пишется:
Code
2015/10/05 16:09:54.210|Debug |QuikTrader|BP:MarketData,T(L)=2015.10.05 16:09:54.210,Sec=S#:@, Native:,Type:,Sec=S#:@, Native:,Type:,Types=Level1,IsSubscribe=True,TransId=0,OrigId=0
2015/10/05 16:09:54.538|Debug |QuikTrader|BP:MarketData,T(L)=2015.10.05 16:09:54.538,Sec=S#:@, Native:,Type:,Sec=S#:@, Native:,Type:,Types=Level1,IsSubscribe=True,TransId=0,OrigId=0
2015/10/05 16:09:54.538|Error |QuikTrader|System.InvalidOperationException: Subscribed
2015/10/05 16:09:55.023|Debug |QuikTrader|BP:MarketData,T(L)=2015.10.05 16:09:55.037,Sec=S#:@, Native:,Type:,Sec=S#:@, Native:,Type:,Types=Level1,IsSubscribe=True,TransId=0,OrigId=0
2015/10/05 16:09:55.037|Error |QuikTrader|System.InvalidOperationException: Subscribed

Заметил что в логе MarketData одинаковый, но таблицы я экспортирую разные.

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 10/5/2015
Reply


А что говорит ГитХаб?[wink]
Thanks:

Валентин Лебедев

Avatar
Date: 10/5/2015
Reply


Как я понял полистав исходники, проблема возникает в BasketMessageAdapter.cs, exception выдает строка 310. Там перед тем как обработать входящее сообщение, из MarketDataMessage функцией CreateKey создается ключ к словарю _subscriptionStates, и если такой ключ уже есть, выдается ошибка. Проблема в том что в функции CreateKey не учитывается, что CustomExportMessage отличаются лишь своими внутренними свойствами.
Как один из вариантов решения, можно в конструкторе CustomExportMessage задавать SecurityId с SecurityCode = имени таблицы.
Thanks:


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

loading
clippy