2016-07-05 48 views
2

我們的團隊已選擇Couchbase作爲我們應用程序的緩存。是物體看起來我們存儲在這個緩存是什麼樣的這個使用HashTable屬性序列化對象並存儲在CouchBase中

​​3210

在我們的代碼,後檢索來自CouchBase緩存中的對象,我發現主要類型(IdName)的特性適當地反序列化,但AttributesHashtable類型未反序列化並保留爲JSON。舉例來說,如果我有像

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

從緩存中的對象將有Attributes["foo"]屬性作爲Foo類的JSON表示。

我想知道如何正確地序列化/反序列化Hashtable類型?我是否應該將對象序列化爲二進制文件,而不是將二進制流存儲在CouchBase中?

回答

0

是否有理由需要使用Hashtable?你可以使用,例如,Dictionary<string,string>而不是?

我認爲你看到的原因是Json.NET的序列化哈希表的最佳嘗試(另請參閱StackOverflow上的這個問題:Serialize hashtable using Json.Net)。

+1

感謝您的回答。不幸的是,我正在處理遺留的代碼庫,切換到Dictionary並不是那麼容易。 但鏈接的問題解釋了爲什麼HashTable值沒有反序列化。我最終手動反序列化值。 – sean717

相關問題