如何在c#中反序列化一个可变二进制文件
本文关键字:一个 二进制文件 反序列化 | 更新日期: 2023-09-27 18:18:23
我按照这个指南将会话数据存储在一个sql server表中。
如何对存储的值进行反序列化?sql数据类型为varbinary
我已经尝试过了,但是我在反序列化行上得到了这个错误:"输入流不是有效的二进制格式"
BinaryFormatter formatter = new BinaryFormatter();
byte[] byteVal = _context.Sessions.First().Value;
System.IO.Stream stream = new System.IO.MemoryStream(byteVal);
var des = formatter.Deserialize(stream);
下面的代码检索您的值并将其放入名为byteVal的字节数组中:
byte[] byteVal = _context.Sessions.First().Value;
我个人更喜欢将这样的字节数组命名为bytes
而不是byteVal,只是为了更清楚地表明它有多个字节长。
byte[] bytes = _context.Sessions.First().Value;
无论如何,此时您可以将bytes
与任何接受字节数组的方法一起使用。(如会话存储)
因此不需要序列化或序列化