Also habe ich nicht den Code geschrieben, den ich gerade behandle, und ich schaue, wie man das am besten behandelt.Wie verhindert man, dass Newtonsoft JsonSerializer den Stream schließt?
Gerade jetzt habe ich das.
public static void WriteSymbol(Stream stream, Symbol symbol)
{
using (var streamWriter = new StreamWriter(stream))
{
JsonSerializer.Create(SerializerSettings).Serialize(streamWriter, symbol);
}
}
Ich möchte den Inhalt des Stroms in der Lage sein zu lesen, nachdem dies in meinem Test durchgeführt wird, so dass ich die Integration überprüfen. Das Problem ist, dass der Stream nach dem Serialisieren jetzt geschlossen ist und ich nicht mehr lesen kann.
Ich sehe, dass JsonWriter public bool CloseOutput { get; set; }
, aber ich sehe nichts für diese statische JsonSerializer.
Was wäre der beste Weg, dies zu tun? Wie verhindere ich, dass der Serializer den Stream schließt? Gibt es eine Möglichkeit, den Inhalt des Streams zu überprüfen?
Sind Sie sicher, dass es der Serializer ist, der es schließt? –
Mögliches Duplikat von [Gibt es eine Möglichkeit, einen StreamWriter zu schließen, ohne dessen BaseStream zu schließen?] (Https://stackoverflow.com/questions/2666888/is-there-any-way-to-close-a-streamwriter-without- closing-its-basestream) –
Ich vermute stark, dass 'StreamWriter' das Ding ist, das es hier schließt ... siehe die Frage, mit der @JeffE verlinkt ist - es gibt eine sehr gute Chance, dass es dich sortiert –