c# - 使用 HashTable 属性序列化一个对象并存储在 CouchBase 中

标签 c# couchbase

我们的团队选择了Couchbase作为我们应用程序的缓存。我们在这个缓存中存储的是这样的对象

public class CatalogEntity
{
    public int Id { get; set; }
    public string Name { get; set; }

    // this property gives us trouble
    public Hashtable Attributes { get; set;}
}

在我们的代码中,从 CouchBase 缓存中检索对象后,我发现主要类型( IdName )的属性已正确反序列化,但 AttributesHashtable类型未反序列化并保持为 JSON。例如,如果我有类似的东西

var entity = new CatalogEntity();
entity.Attributes["foo"] = new Foo();

缓存中的对象将具有 Attributes["foo"]属性作为 Foo 的 JSON 表示形式类(class)。

我想知道如何获得 Hashtable类型正确序列化/反序列化?我是否应该将对象序列化为二进制文件并将二进制流存储在 CouchBase 中?

最佳答案

您是否有理由需要使用 Hashtable ?例如,您可以使用 Dictionary<string,string> 吗?相反?

我认为您看到的原因是 Json.NET 对哈希表进行序列化的最佳尝试(另请参阅 StackOverflow 上的这个问题:Serialize hashtable using Json.Net)。

关于c# - 使用 HashTable 属性序列化一个对象并存储在 CouchBase 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38210310/

相关文章:

c# - 如何使用 JavaScript 验证 GridView 内的下拉菜单

c# - wpf 在 activeX 之上

c# - 项目无法打开,visual studio 崩溃

java - 条件存储库注入(inject) - Spring Boot

curl - Windows服务器如何发送HTTP删除方法

elasticsearch - Couchbase XDCR Elasticsearch速度和删除

c# - Quartz.Net 和链式作业之间的数据传递

c# - CSC 和 Roslyn 编译器的静态 lambda 表达式评估的区别?

elasticsearch - Couchbase Elasticsearch插件在推送之前转换数据

go - Couchbase gocb 批量操作提供部分为空的结果