Bonjour,
Je suis actuellement face a un problème de taille (enfin à mon échelle). Alors je dois réaliser une sérialisation/déserialisation en binaire d'un objet qui contient un arraylist dans un programme en C#.
L'arraylist contient des objets très simple, (un nom + un entier ou boolean)
Jusque là pas vraiment de soucis, mon code fonctionne (il est basique sans grand intérêt).
Le programme tourne sous .NET 4.5, Windows 7.
Mon problème surviens lorsque j'atteint un certains nombre d'objet dans mon arraylist.
Exemple :
Mon objet à sérialiser contient un arraylist contenant 50 objets. Aucun soucis j'arrive a sérialiser, déserialiser.
Mais si j'atteint 70 objets dans mon arraylist alors cela ne fonctionne plus. 70 est la valeur exact c'est a dire que à 69 ça fonctionne et 70 ca ne fonctionne plus.
Je me retrouve avec un message d'erreur : "Le flux binaire '253' ne contient pas de BinaryHeader valide. Les raisons possibles sont un flux non valide ou une modification de la version de l'objet entre la sérialisation et la désérialisation."
Je terminerai mon explication par un fait étrange. Mon programme doit fonctionner en .NET 1.1 (Windows XP, Visual Studio 2003) et .NET supérieur à 2.0(Visual Studio 2015), il s'avère que j'ai coder le programme en Visual Studio 2015 (plus ergonomique) puis j'ai porter mon code sous .NET 1.1 (quasiment aucun changement juste une histoire de recréer un projet en Visual Studio 2003 et quelques copié/coller) bref et bien sous .NET 1.1(XP) ca fonctionne parfaitement je peux mettre 3000 objets dans mon arraylist la sérialisation et déserialisation se passe sans soucis.
Voila je me retourne vers la communauté de Développez.net, si quelqu'un a une idée ou a déjà rencontré le soucis, un peu d'aide serai la bienvenue .
Partager