这几天改公司以前一个ASP.NET 1 的web工程的代码,看里面的一堆ViewState看到胆战心惊....汗,ASP模式的编程方式也非常雷人,调试痛苦多了。
其中因为StateMode使用的是StateServer而不是InProc,没经验,有个报错费很长时间(一个中午)也没找出来错在哪,断点捕捉不到:程序里面用Sesstion就不能存储非序列化的对象。后来....反正也没必要存储非序列化对象,就提取出一个string出来了。。。
不过,在有必要的情况下,将非序列化对象序列化还是值得去做的,网上浏览了一遍,大概知道有两种方法,其中一种是使用BinaryFormatter()的。
代码仅供帮助理解序列化:
public static byte[] GetSerializationBytes(object obj) { BinaryFormatter formatter = new BinaryFormatter(); MemoryStream serializationStream = new MemoryStream(); formatter.Serialize(serializationStream, obj); byte[] buffer = serializationStream.ToArray(); serializationStream.Close(); return buffer; }