0
我正在評估Protobuf-net加速WCF項目,到目前爲止它看起來很有希望,但我在客戶端出現空列表(和字典)出現問題。集合不會連載protobuf網?
編輯 這個問題竟然是錯的問題是與空集沒有什麼做的內容。我正在更新它,所以任何人都會絆倒它可能會得到一些幫助。 編輯
這是(簡化)代碼
[ProtoContract]
public class TestObject
{
[ProtoMember(1)]
public List<int> Values { get; set; }
}
public Test()
{
TestObject bob = new TestObject() { Values = new List<int>() };
using (MemoryStream stream = new MemoryStream())
{
Serializer.Serialize<TestObject>(stream, bob);
stream.Seek(0, SeekOrigin.Begin);
TestObject copy = Serializer.Deserialize<TestObject>(stream);
// Fail!
Debug.Assert(copy.Values != null);
}
}
當我看在副本中的值是空不空List對象。
任何想法,我可能做錯了什麼?我使用protobuf網全2.0.0.668
謝謝, 馬克
我將不得不在晚些時候看看;目前的工作 –
非常感謝,實際上struct結構可能是一個紅鯡魚,另一個不工作的集合是類對象的字典。我只是在尋找一種模式。 – MarkDaniel
我發現了這個問題。這與結構和類沒有關係。如果集合爲空,那麼在反序列化的對象上會得到空值,而不是初始化的空集合。這甚至會發生在一個非常簡單的測試裝置上。 – MarkDaniel