← Zurück

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

Всем доброе утро! Взял ночную сборку 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();

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

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

Спасибо!

War dieses Thema hilfreich?

Thema teilen

Kommentare (7)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Support
Support

Добрый день

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

LevNNN
LevNNN Autor

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

Support
Support

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

LevNNN
LevNNN Autor

Спасибо!

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

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

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

Fibo
Fibo

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

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

LevNNN
LevNNN Autor

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

Fibo
Fibo

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

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

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