Op dit moment ben ik bezig met een programma die informatie vanaf een client moet inlezen (een dataset) en deze weer in ze eigen dataset moet zetten. Hiervoor maak ik gebruik van de volgende code:
Alles werkt goed in het programma, behalve als de client zijn data stuurt gebeurt er niks op de server behalve "Begin met XML uitlezen vanaf stream". Maar zodra de client de socket sluit gaat het script door en geeft de melding: "XML ingelezen".
Hierdoor lijkt het erop of de ds.readXml functie blijft wachten. Ben al het gehele weekend wezen zoeken naar een oplossing voor dit probleem alleen de meeste site's zeggen hoe je een XML bestand moet uitlezen vanaf een bestand.
Wie weet waarom de ds.readXML blijft "hangen" en weet er een mogelijke oplossing voor?
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| while (true) { NetworkStream stream = client.Socket.GetStream(); StreamReader reader = new StreamReader(stream); if (stream.DataAvailable) { DataSet ds = new DataSet() Console.WriteLine("Begin met XML uitlezen vanaf stream"); try { ds.ReadXml(reader); } catch (Exception e) { Console.WriteLine("Fout bij inlezen van XML. Foutmelding: " + e.message()); } Console.WriteLine("XML ingelezen"); } } |
Alles werkt goed in het programma, behalve als de client zijn data stuurt gebeurt er niks op de server behalve "Begin met XML uitlezen vanaf stream". Maar zodra de client de socket sluit gaat het script door en geeft de melding: "XML ingelezen".
Hierdoor lijkt het erop of de ds.readXml functie blijft wachten. Ben al het gehele weekend wezen zoeken naar een oplossing voor dit probleem alleen de meeste site's zeggen hoe je een XML bestand moet uitlezen vanaf een bestand.
Wie weet waarom de ds.readXML blijft "hangen" en weet er een mogelijke oplossing voor?
[ Voor 2% gewijzigd door Facer op 04-12-2006 12:29 . Reden: Code fout ]