Hi I have a byte array of size 2138 and it is serialized.
Now I want to store that in cache or session.
I have the following:
1. Deserialized the Byte array into an object.
2. Stored the same in Session.
3. Whenever required I have again Serialized the Object into a Byte array and tried to reuse it.
But this method has failed.
public object ByteArrayToObject(byte[] _ByteArray)
{
try
{
// convert byte array to memory stream
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_ByteArray);
// create new BinaryFormatter
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _BinaryFormatter
= new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
// set memory stream position to starting point
_MemoryStream.Position = 0;
// Deserializes a stream into an object graph and return as a object.
return _BinaryFormatter.Deserialize(_MemoryStream);
}
catch (Exception ex)
{
// Error
return null;
}
}
public byte[] ObjectToByteArray(object _Object)
{
try
{
// create new memory stream
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream();
// create new BinaryFormatter
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _BinaryFormatter
= new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
// Serializes an object, or graph of connected objects, to the given stream.
_BinaryFormatter.Serialize(_MemoryStream, _Object);
// convert stream to byte array and return
return _MemoryStream.ToArray();
}
catch (Exception ex)
{
// Error
// Error occured, return null
return null;
}
}
The above two methods are used for the conversion.
I am unable understand why it is not working.
Any kind of help will be appreciated.