Проблемы с классом Connector в версии 4.4.17

Проблемы с классом Connector в версии 4.4.17
Atom
1/9/2020
LevNNN


Всем доброе утро! Взял ночную сборку 4.4.17. В этой версии вместо традиционных коннекторов рекомендуется использовать новый класc Connector,
Я взял тестовый пример SampleConnection из дистрибутива, скомпилировал его, запустил, создал два тестовых подключения к Quik и к MT4. Все заработало. Взял сформированный файл - connection.xml и поместил в свою директорию . Модифицировал свой код путем замены старых коннекторов на новый класс Connector, скомпилировалось без ошибок. Все запустилось. Получился следующий код:

            _tradeGrid.Trader = new Connector();
            _tradeGrid.Trader.Connected += () => this.Dispatcher.BeginInvoke((Action)(() => this.Connected()));
            _tradeGrid.Trader.Disconnected += () => this.Dispatcher.BeginInvoke((Action)(() => this.Disconnected()));
            _tradeGrid.Trader.Error += errors => this.Dispatcher.BeginInvoke((Action)(() => this.Error(errors)));
            _tradeGrid.Trader.NewPortfolios += portfolios => this.Dispatcher.BeginInvoke((Action)(() => this.PortfoliosChanged(portfolios)));
            _tradeGrid.Trader.NewSecurities += securities => this.Dispatcher.BeginInvoke((Action)(() => this.SecuritiesChanged(securities)));
            _tradeGrid.Trader.NewTrades += trades => this.Dispatcher.BeginInvoke((Action)(() => this.TradesChanged(trades)));
            _tradeGrid.Trader.MarketDepthsChanged += marketDepths => this.Dispatcher.BeginInvoke((Action)(() => this.MarketDepthsChanged(marketDepths)));

... string settingsFile = _tradeGrid.LocalStoragePath() + "\" + "connection.xml"; try { if (File.Exists(settingsFile)) { var ctx = new ContinueOnExceptionContext(); ctx.Error += ex => ex.LogError(); using (new Scope<ContinueOnExceptionContext>(ctx)) _tradeGrid.Trader.Load(new XmlSerializer<SettingsStorage>().Deserialize(settingsFile)); } } catch } _tradeGrid.Trader.Connect();

Подключения не происходит , приходит ошибка в обработчик со следующим текстом: {"Необходимо создать хотя бы одно подключение."}

Что я делаю не верно?!

Спасибо!




Thanks:


Support

Avatar
Date: 1/9/2020
Reply


Добрый день

Скажите, при загрузке файла были ли у вас какие-то ошибки (обратите внимание, catch у вас стоит пустым)? Путь к файлу программа корректно определяет и видит его?

Thanks:

LevNNN

Avatar
Date: 1/9/2020
Reply


Нет, при загрузке файла ошибки не было. Путь корректный, в catch не заходит. Вот это событие срабатывает: _tradeGrid.Trader.Error += errors => this.Dispatcher.BeginInvoke((Action)(() => this.Error(errors)));

Thanks:

Support

Avatar
Date: 1/11/2020
Reply


Пожалуйста, пришлите текст ошибки.

Thanks:

LevNNN

Avatar
Date: 1/11/2020
Reply


Спасибо!

Разобрался сам. Не хватало вот этих двух строчек в коде:

            ConfigManager.RegisterService<IExchangeInfoProvider>(new InMemoryExchangeInfoProvider());
            ConfigManager.RegisterService<IMessageAdapterProvider>(new FullInMemoryMessageAdapterProvider(_tradeGrid.Trader.Adapter.InnerAdapters));

После их добавления все заработало.

Thanks:

Fibo

Avatar
Date: 1/12/2020
Reply


LevNNN: Всем доброе утро! Взял ночную сборку 4.4.17. В этой версии вместо традиционных коннекторов рекомендуется использовать новый класc Connector, Я взял тестовый пример SampleConnection из дистрибутива, скомпилировал его, запустил, создал два тестовых подключения к Quik и к MT4. Все заработало. Взял сформированный файл - connection.xml и поместил в свою директорию . Модифицировал свой код путем замены старых коннекторов на новый класс Connector, скомпилировалось без ошибок. Все запустилось. !

Доброго дня! Запускаю ту же сборку, что и у Вас , но в VisualStudia 2015 показывает кучу ошибок (скрин https://stocksharp.ru/file/110372 ) и соответственно не компилируется. Подскажите, пожалуйста, как ее правильно запускать [laugh]

image491.png 99 KB (789)
Thanks:

LevNNN

Avatar
Date: 1/12/2020
Reply


Я бы посоветовал поставить Visual Studio 2019 и попробовал бы скомпилировать в ней.

Thanks:

Fibo

Avatar
Date: 1/12/2020
Reply


LevNNN: Я бы посоветовал поставить Visual Studio 2019 и попробовал бы скомпилировать в ней.

Спасибо, буду по-разному пробовать )

Вот это, кстати, не помогло " [RU] ВАЖНО: На некоторых системах скаченный ZIP файл блокируется и распакованные из него сборки могут не работать в Visual Studio. До распаковки, нажмите правой кнопкой на ZIP файл, выберите в контекстном меню Свойства, и нажмите в закладке Общие кнопку Разблокировать, если она присуствует в правом нижнем углу окна (если не присутствует, значит разблокировка НЕ требуется). "

Thanks:


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

loading
clippy