У меня есть следующий код для сериализации / десериализации DataTable:
public static byte[] Serialize(DataTable dt)
{
System.IO.MemoryStream stream = new System.IO.MemoryStream();
System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
formatter.Serialize(stream, dt);
return stream.GetBuffer();
}
public static DataTable Deserialize(byte[] buffer)
{
System.IO.MemoryStream stream = new System.IO.MemoryStream(buffer);
System.Runtime.Serialization.IFormatter formatter = new BinaryFormatter();
return formatter.Deserialize(stream) as DataTable;
}
Метод сериализации работает нормально, но метод десериализации выдает эту ошибку:
The input stream is not a valid binary format. The starting contents (in bytes) are: 1F-8B-08 ...
Я 99%уверен, что я получил этот метод для работы в прошлом, не уверен, что не так.