我在做序列化時遇到問題&使用c#反序列化。基本上我使用DataContractSerializer來序列化一個對象。c#中的序列化和反序列化#
這裏是我的序列化代碼:
var serializer = new DataContractSerializer(typeof(ProjectSetup));
string xmlString;
using (var sw = new StringWriter())
{
using (var writer = new XmlTextWriter(sw))
{
writer.Formatting = Formatting.Indented;
serializer.WriteObject(writer, DALProjectSetup);
writer.Flush();
xmlString = sw.ToString();
}
}
System.Web.HttpContext.Current.Session["ProjectSetup"] = xmlString;
這是正常工作,但現在我需要如何反序列化上面的幫助。
阿尼爾,如果我的代碼工作,你可以將其標記爲答案。如果它不提供一些額外的信息。 –
我試過谷歌和這樣的反序列化的代碼:string toDeserialise = System.Web.HttpContext.Current.Session [「ProjectSetup」]。ToString(); DataContractSerializer dcs = new DataContractSerializer(typeof(ProjectSetup)); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(toDeserialise)); obj =(ProjectSetup)dcs.ReadObject(ms); – Anil
並且出現錯誤:「System.Collections.Hashtable」類型的只讀集合返回空值。輸入流包含收集項目,如果實例爲空,則不能添加。考慮在對象的構造函數或getter中初始化集合。 – Anil