【发布时间】:2011-09-13 10:24:00
【问题描述】:
当我将我的对象反序列化回它的原始类型时,我的对象总是null。
这是我的代码:
ProjectSetup obj = new ProjectSetup();
if (System.Web.HttpContext.Current.Session["ProjectSetup"] == null)
setBookProjectSetup();
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, true);
return obj;
【问题讨论】:
-
你看到我在这里添加的答案了吗? stackoverflow.com/questions/7397754/… - 这能解决问题吗?另外:一般提示:永远不要“错误” - 给出准确,逐字错误
-
顺便说一句;
catch(Exception ex) {throw ex;}没有任何好处,并且会造成伤害(它会破坏堆栈跟踪) - 避免这种情况。 -
如何序列化对象?
-
代码确实不完整。 @Marc +1,加上捕捉一般异常是一种很好的做法。
标签: c# .net serialization datacontractserializer