Я не знаю, как использовать Stream
в сериализации Json
Первая проблема, которую я вижу, состоит в том, что Stream
является абстрактным классом. Как его можно десериализовать?
Другая проблема заключается в том, что не все потоки могут быть сериализованы:
var value = new StreamObject { Comma = ',' };
value.Stream = new MemoryStream(Encoding.ASCII.GetBytes("turn left then right and go straight"));
var str = System.Text.Json.JsonSerializer.Serialize(value);
вызывает ошибку, такую как Timeouts are not supported on this stream.
, при попытке сериализации MemoryStream.
Пожалуйста, рассмотрите возможность использования типа данных byte[]
или string
, но не Stream
.
Вы можете использовать его с string
в соответствии с примером почтальона, который вы показали:
[DataContract]
public class StreamObject
{
[DataMember]
public Char Comma { get; set; }
[DataMember]
public string Stream { get; set; }
}