Ragazzi, scusatemi ma sono veramente nel dramma a lavoro .
La Serializzazione è una sorta di meccanismo del .net che "congela" i valori di un'istanza di una classe (o parte di essa) in una sua rappresentazione in formato stringa. Questa rappresentazione può essere salvata in un file, nel db o come nel caso di cui sopra passata in query string.
Avrete bisogno di un metodo statico per serializzare l'istanza corrente:
public static string Serialize(tipoClasseDaSerializzare ToSerialize)
{
BinaryFormatter bFormatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
bFormatter.Serialize(stream, ToSerialize);
stream.Seek(0, SeekOrigin.Begin);
byte[] blocco = new byte[stream.Length];
stream.Read(blocco, 0, (int)stream.Length);
return Convert.ToBase64String(blocco, Base64FormattingOptions.None);
}
Un metodo per deserializzare:
public static tipoClasseDaSerializzare Deserialize(string SerializedStr)
{
tipoClasseDaSerializzare Serialized;
byte[] blocco = Convert.FromBase64String(SerializedStr);
System.IO.Stream stream = new MemoryStream(blocco);
BinaryFormatter bFormatter = new BinaryFormatter();
Serialized = (tipoClasseDaSerializzare)bFormatter.Deserialize(stream);
return Serialized;
}
in fine dovete decorare la classe con l'attributo
[Serializable()] e ogni attributo che non deve essere serializzato con [NonSerialized()]
Scusate ho scritto molto di fretta, spero che questa introduzione volante e un po' di google possano aiutarvi
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com