根据我们当前的代码实现,我们需要将System.Data.DataTable存储在缓存中。它在使用HttpRuntime.Cache时可以正常工作,但不能在Apache Ignite中使用。 以下是代码片段。如何在Apache Ignite中存储DataTable?
IIgnite ignite = Ignition.Start();
ICache<string, object> cache = ignite.GetOrCreateCache<string, object>("cache");
DataTable table = new DataTable();
cache.Put("1", table);
这将引发“无法投型“Apache.Ignite.Core.Impl.Binary.BinaryWriter为键入‘System.IConvertible’的对象”的错误。
基于https://apacheignite-net.readme.io/docs/serialization, 的信息DataTable实现ISerializable并具有Serializable属性。它应该能够序列化。我不知道为什么我得到这个错误。有什么想法吗?
环境:Ignite.NET 2.1时,Visual Studio 2015年