ServiceStack.Text配置输入流

时间:2018-05-05 21:49:27

标签: servicestack-text

从流中反序列化数据ServiceStack.Text会关闭输入流。由于Github上没有问题跟踪器,他们的网站引用了我在这里发布问题。 致电

 JsonSerializer.DeserializeFromStream<T>(stream);

将处理输入流,这在我看来是一个错误,因为可能有其他数据,后面只有一个对象前缀。我所知道的其他序列化器没有这种行为。

1 个答案:

答案 0 :(得分:1)

最新的v5.1.1 of ServiceStack.Text on MyGet不应再自动关闭流。

ServiceStack.Text也已重写为使用.NET的新ReadOnlySpan<char>,可以直接通过以下方式访问:

ReadOnlySpan<char> jsonSpan = json.AsSpan();
var dto = JsonSerializer.DeserializeFromSpan<T>(jsonSpan);

还有一个新的API用于异步读取流:

var dto = await JsonSerializer.DeserializeFromStreamAsync<T>(stream);