Я получил ошибку "не найден тип для объекта" при запросе ключей кеша из кеша apache ignite.
Экземпляр сервера Ignite работает на сервере Linux, а мой запрос запускается на экземпляре клиента зажигания, запущенном приложением Microsoft Server .Net Web Forms. DLL для этого типа уже существует в папке bin приложения.
Мой запрос:
List<string> cacheKeys = cache.Select(e => e.Key).Where(e => e.StartsWith(cacheItemKeyPrefix)).ToList();
Ошибка:
Apache.Ignite.Core.Binary.BinaryObjectException: не найден соответствующий тип для объекта [typeId = -274908056, typeName = System.Collections.Generic.Dictionary 2[[System.Decimal],[CUST.CompositionTypes.PrivateBankingCustomer]]]. This usually indicates that assembly with specified type is not loaded on a node. When using Apache.Ignite.exe, make sure to load assemblies with -assembly parameter. Alternatively, set IgniteConfiguration.PeerAssemblyLoadingEnabled to true. at Apache.Ignite.Core.Impl.Binary.BinaryReader.ReadFullObject[T](Int32 pos, Type typeOverride) at Apache.Ignite.Core.Impl.Binary.BinaryReader.TryDeserialize[T](T& res, Type typeOverride) at Apache.Ignite.Core.Impl.Binary.BinaryReader.Deserialize[T](Type typeOverride) at Apache.Ignite.Core.Impl.Binary.BinaryReader.ReadBinaryObject[T](Boolean doDetach) at Apache.Ignite.Core.Impl.Binary.BinaryReader.TryDeserialize[T](T& res, Type typeOverride) at Apache.Ignite.Core.Impl.Binary.BinaryReader.Deserialize[T](Type typeOverride) at Apache.Ignite.Core.Impl.Cache.CacheEnumerator
2.b__0 (поток IBinaryStream) в Apache.Ignite.Core .Impl.PlatformJniTarget.OutStream [T] (тип Int32, Func 2 readAction) at Apache.Ignite.Core.Impl.Cache.CacheEnumeratorProxy
2.MoveNext () в System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator
1.MoveNext () в System.Collections.Generic.List 1..ctor(IEnumerable
1 коллекция) в System.Linq.Enumerable.ToList [TSource] (источник IEnumerable`1)