Serialisation entre plusieurs applications

Résolu
cs_yes Messages postés 33 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 26 février 2008 - 7 juil. 2005 à 12:31
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007 - 7 juil. 2005 à 13:47
Bonjour,

Voilà mon problème :

je sauvegarde des données dans une application avec
IFormatter formatter =
new BinaryFormatter();

tout ce pass bien, je peut lire ces données à partir de cette application. Le problème est que je souhaite pouvoir lire ces données à partir d'une autre appli et là c'est le drame !! La deserialisation se rend compte que les donées viennent d'une autre appli et impossible de lire.

Quelqu'un connait une solution (je bne souhaitye pas passer par du XML ou autre format lisible par une personne).

Merci d'avance.

1 réponse

aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
7 juil. 2005 à 13:47
Bonjour,



Tu dois créer une classe "Binder" :

private class DeserializeBinder : SerializationBinder

{

public override Type BindToType(string assemblyName, string typeName)

{


string currentAssembly = Assembly.GetExecutingAssembly().FullName;


if (assemblyName !currentAssembly) assemblyName currentAssembly;


return Type.GetType(string.Format("{0}, {1}", typeName, assemblyName));

}

}


Ensuite tu assignes une instance de cette classe à la propriété "Binder" de ton BinaryFormatter :

formatter.Binder = new DeserializeBinder();




-- AOGie --
3
Rejoignez-nous