Ik wil een collection van payloads serializeren naar XML (vanwege webservices). Het serializeren gaat goed, echter de weg terug niet, als ik deserializeer dan krijg ik slechts 1 payload in de collection terug terwijl er 14 in zaten. Ik bespeur wel dat de stream position op 4096 blijft steken...
Dit is de code, na de wit-regels heb ik ter test een deserialize staan en myPayloads heeft daar slechts 1 payload terwijl de this.payloads instance member er 14 had.
Dit is de code, na de wit-regels heb ik ter test een deserialize staan en myPayloads heeft daar slechts 1 payload terwijl de this.payloads instance member er 14 had.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| XmlSerializer serializer = new XmlSerializer(typeof(Collection<Payload>));
using (MemoryStream memStream = new MemoryStream())
{
serializer.Serialize(memStream, this.payloads);
memStream.Position = 0;
using (StreamReader reader = new StreamReader(memStream))
{
string payloadString = reader.ReadToEnd();
XmlSerializer xs = new XmlSerializer(typeof(Collection<Payload>));
byte[] byteArray = Encoding.Default.GetBytes(payloadString);
MemoryStream mystream = new MemoryStream(byteArray);
mystream.Position = 0;
Collection<Payload> myPayloads = (Collection<Payload>)xs.Deserialize(mystream);
}
} |