KevoFnC
26-02-2006, 21:04
Buonasera! :)
Avrei bisogno di serializzare una struttura in modo da poterla inviare con un socket e successivamente deserializzarla "dall'altro lato", il tutto utilizzando la classe BinaryFormatter del Framework.
La struttura č la seguente:
[Serializable]
public struct pacchetto
{
public Byte[] dato;
public Byte[] checksum;
};
Il problema sorge durante l'operazione di deserializzazione che richiama una SerializationException.
Ho provato anche ad implementare il costrutto ISerializable in questo modo (come anche spiegato su MSDN):
[Serializable]
public class pacchetto:ISerializable
{
public Byte[] dato;
public Byte[] checksum;
public pacchetto()
{
}
protected pacchetto(SerializationInfo info, StreamingContext context)
{
dato=(Byte[])info.GetValue("dato", typeof(Byte[]));
checksum=(Byte[])info.GetValue("check", typeof(Byte[]));
}
[SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("dato", dato);
info.AddValue("check", checksum);
}
};
Ma il problema purtroppo, anche in questo caso, persiste. :cry:
Adesso sorge spontaneo domandare:
Come si fa a serializzare una struttura contenente array?
Si puņ serializzare una struttura contenente array? :p
Come risolvo il problema?
Grazie in anticipo. ;)
Avrei bisogno di serializzare una struttura in modo da poterla inviare con un socket e successivamente deserializzarla "dall'altro lato", il tutto utilizzando la classe BinaryFormatter del Framework.
La struttura č la seguente:
[Serializable]
public struct pacchetto
{
public Byte[] dato;
public Byte[] checksum;
};
Il problema sorge durante l'operazione di deserializzazione che richiama una SerializationException.
Ho provato anche ad implementare il costrutto ISerializable in questo modo (come anche spiegato su MSDN):
[Serializable]
public class pacchetto:ISerializable
{
public Byte[] dato;
public Byte[] checksum;
public pacchetto()
{
}
protected pacchetto(SerializationInfo info, StreamingContext context)
{
dato=(Byte[])info.GetValue("dato", typeof(Byte[]));
checksum=(Byte[])info.GetValue("check", typeof(Byte[]));
}
[SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("dato", dato);
info.AddValue("check", checksum);
}
};
Ma il problema purtroppo, anche in questo caso, persiste. :cry:
Adesso sorge spontaneo domandare:
Come si fa a serializzare una struttura contenente array?
Si puņ serializzare una struttura contenente array? :p
Come risolvo il problema?
Grazie in anticipo. ;)