﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">connector.InitializeStorage(csvEntityRegistry, storageRegistry); пересозадает BasketMessageAdapter</title>
  <id>~/topic/8848/connector_initializestorage(csventityregistry-storageregistry)-peresozadaet-basketmessageadapter/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-14T17:02:27Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=8848" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/41764/</id>
    <title type="text">если воспользоваться методом инициализации хранилища у трейдера connector.InitializeStorage(csvEntit...</title>
    <published>2017-11-21T18:48:55Z</published>
    <updated>2017-11-21T18:48:55Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;если воспользоваться методом инициализации хранилища у трейдера&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
connector.InitializeStorage(csvEntityRegistry, storageRegistry);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;То согласно исходникам &lt;a href="https://github.com/StockSharp/StockSharp/blob/a2188afaf82a503c1ef60289331bbe94892da037/Algo/Connector.cs" target="_blank"&gt;https://github.com/StockSharp/StockSharp/blob/a2188afaf82a503c1ef60289331bbe94892da037/Algo/Connector.cs&lt;/a&gt;
пересозадастся BasketMessageAdapter Adapter&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code&gt;
/// &amp;lt;summary&amp;gt;
		/// Initialize &amp;lt;see cref=&amp;quot;StorageAdapter&amp;quot;/&amp;gt;.
		/// &amp;lt;/summary&amp;gt;
		/// &amp;lt;param name=&amp;quot;entityRegistry&amp;quot;&amp;gt;The storage of trade objects.&amp;lt;/param&amp;gt;
		/// &amp;lt;param name=&amp;quot;storageRegistry&amp;quot;&amp;gt;The storage of market data.&amp;lt;/param&amp;gt;
		public void InitializeStorage(IEntityRegistry entityRegistry, IStorageRegistry storageRegistry)
		{
			if (entityRegistry == null)
				throw new ArgumentNullException(nameof(entityRegistry));

			if (storageRegistry == null)
				throw new ArgumentNullException(nameof(storageRegistry));

			_entityRegistry = entityRegistry;
			_storageRegistry = storageRegistry;

			InitAdapter();//&amp;lt;--------------------------- ТУТ

			_entityCache.ExchangeInfoProvider = storageRegistry.ExchangeInfoProvider;
		}

		private void InitAdapter()
		{
			Adapter = new BasketMessageAdapter(new MillisecondIncrementalIdGenerator());&amp;lt;--------------------------- ТУТ
		}

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Поэтому если у коннектора уже были настроены адаптеры он их затрет, и соответственно подключение работать не будет. Такое поведение не очевидно, если не ковырять исходники можно долго гадать почему нет подключения к терминалам.
Примеры
так работает&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
var connector = new Connector();
connector.InitializeStorage(entityRegistry, storageRegistry);
connector.Load(new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Deserialize(ConnectorFile));

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;так не работает&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
var connector = new Connector();
connector.Load(new XmlSerializer&amp;lt;SettingsStorage&amp;gt;().Deserialize(ConnectorFile));
connector.InitializeStorage(entityRegistry, storageRegistry);

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Больше на баг похоже чем на фичу&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>