就挂钟时间而言,逐块反序列化 Web 响应是免费的,因为等待块的时间通常比反序列化时间长得多。但是,现有的解决方案:
var streamReader = new System.IO.StreamReader(responseStream);
var deserialized = Jil.JSON.Deserialize<Result>(streamReader);
阻塞线程直到响应完成,这会使系统在高并发情况下停止。要Jil
与异步响应读取一起使用,我们需要类似
var chunkDeserializer = new JilChunkDeserializer<Response>();
chunkDeserializer.Consume(buffer, offset, length); //with baked-in string encoding
//chunkDeserializer.Consume(stringChunk); alternative with one extra allocation per chunk
写入所有数据后var deserialised = chunkDeserializer.Finalize()
调用。吉尔有类似的东西吗?如果没有,是否可以实施?由于被块等待时间吸收,适度的性能损失将毫无意义。