我想将对象序列化为字符串,但我确实收到错误:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at System.IO.StreamReader.ReadToEnd()
at TEG.USBSharing.Utility.FileUtility.ValidateReadByStreamReader(StreamReader streamReader)
这是我的代码: (1)序列化
public static string Serialization<T>(T obj)
{
using (MemoryStream memoryStream = new MemoryStream())
using (StreamReader reader = new StreamReader(memoryStream))
{
DataContractSerializer serializer = new DataContractSerializer(obj.GetType());
serializer.WriteObject(memoryStream, obj);
memoryStream.Position = 0;
return FileUtility.ValidateReadByStreamReader(reader);
}
}
(2)ReadToEnd
public string ValidateReadByStreamReader(StreamReader streamReader)
{
string m_Data = string.Empty;
if (streamReader != null)
{
m_Data = streamReader.ReadToEnd();
}
return m_Data;
}
(3)我的对象
DataPacKet m_DataPacKet = new DataPacKet() {
Command = DataPacKet.COMMAND_SEND_FILE_TRANSFER_CONTENT,
GuidId = m_Guid,
Data = new DataPacKetContent()
{
Sequence = i,
DataBase64 = Convert.ToBase64String(m_SendingBuffer),
},
TransferType = dataPacketRequest.TransferType }; string m_MessageFileDataPacKet =
JsonUtility.Serialization<DataPacKet>(m_DataPacKet);
感谢您的帮助。