public long SerializeThenDeserialize_Once_InFile(object data, string FileName, DataDescriptor dataDescriptor) { using (FileStream stream = new FileStream(FileName, FileMode.Create)) { var serializer = new SharpSerializer(true); serializer.Serialize(data, stream); } using (FileStream stream = new FileStream(FileName, FileMode.Open)) { var serializer = new SharpSerializer(true); var deserializedData = serializer.Deserialize(stream); dataDescriptor.CheckDeserializedData(data, deserializedData); } return(new FileInfo(FileName).Length); }
public long SerializeThenDeserialize_Loop_InFile(object data, int loopCount, string FileName, DataDescriptor dataDescriptor) { using (FileStream stream = new FileStream(FileName, FileMode.Create)) { var serializer = new SharpSerializer(true); for (int iLoop = 0; iLoop < loopCount; iLoop++) { long position = stream.Position; serializer.Serialize(data, stream); stream.Position = position; var deserializedData = serializer.Deserialize(stream); dataDescriptor.CheckDeserializedData(data, deserializedData); } return(stream.Length); } }
public long SerializeThenDeserialize_Loop_InRAM(object data, int loopCount, DataDescriptor dataDescriptor) { using (MemoryStream stream = new MemoryStream()) { var serializer = new SharpSerializer(true); for (int iLoop = 0; iLoop < loopCount; iLoop++) { long position = stream.Position; serializer.Serialize(data, stream); stream.Position = position; var deserializedData = serializer.Deserialize(stream); dataDescriptor.CheckDeserializedData(data, deserializedData); } return(stream.Length); } }
public long SerializeThenDeserialize_Once_InRAM(object data, DataDescriptor dataDescriptor) { byte[] bytes; using (MemoryStream stream = new MemoryStream()) { var serializer = new SharpSerializer(true); serializer.Serialize(data, stream); bytes = stream.ToArray(); } using (MemoryStream stream = new MemoryStream(bytes)) { var serializer = new SharpSerializer(true); var bf = new SoapFormatter(); var deserializedData = serializer.Deserialize(stream); dataDescriptor.CheckDeserializedData(data, deserializedData); } return(bytes.LongLength); }