Ich benutze DataContractJsonSerializer
, die gerne auf einen Stream ausgeben. Ich möchte die Ausgänge des Serialisierers nach oben und nach hinten drehen, also benutzte ich einen StreamWriter, um abwechselnd die zusätzlichen Bits zu schreiben, die ich brauchte.Schreiben, um dann aus einem MemoryStream zu lesen
var ser = new DataContractJsonSerializer(typeof (TValue));
using (var stream = new MemoryStream())
{
using (var sw = new StreamWriter(stream))
{
sw.Write("{");
foreach (var kvp in keysAndValues)
{
sw.Write("'{0}':", kvp.Key);
ser.WriteObject(stream, kvp.Value);
}
sw.Write("}");
}
using (var streamReader = new StreamReader(stream))
{
return streamReader.ReadToEnd();
}
}
Als ich das bekomme ich einen ArgumentException
„Strom nicht lesbar war“.
Ich mache wahrscheinlich alle möglichen Fehler hier, also alle Antworten willkommen. Vielen Dank.
Danke Jon. Es ist ein DataContractJsonSerializer. Ich habe den Code jetzt bearbeitet, um das zu zeigen. Macht das, was ich mache, OK? – Gaz
dachte nicht nur an den Puffer greifen - netter – ShuggyCoUk
Gaz: Ich vermute, dass wird in Ordnung sein, obwohl ich mir nicht ganz sicher bin. Vielleicht möchten Sie überlegen, was passiert, wenn das XML eine schließende geschweifte Klammer enthält ... –