如何使用JSON.NET';使JsonTextReader异步从NetworkStream中读取

本文关键字:异步 JsonTextReader NetworkStream 读取 JSON 何使用 NET | 更新日期: 2023-09-27 17:57:50

我为Silverlight实现了自己的NetworkStream端口,它只允许异步调用
我想阅读一些从服务器上收到的JSON-RPC消息,所以我想使用JSON.NET JsonTextReader,所以我得到了以下代码:

reader = new JsonTextReader(new StreamReader(new NetworkStream(new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))));  
// ...
reader.Read();  

我的问题是,它将尝试执行同步操作,而同步操作反过来只抛出UnsupportedException
有没有一个异步StreamReader可以给JsonTextReader供电
我应该采取另一种方法吗?

如何使用JSON.NET';使JsonTextReader异步从NetworkStream中读取

我认为你应该这样做。我不认为您可以强制JsonTextReader使用异步方法,但您可以修改用于获取数据的整个方法,使其异步运行。此外,使用

using(var io = new StreamReader())
{ 
    io.Read(); 
} 

语法。