如何使用JSON.NET的JsonTextReader异步读取NetworkStream?

时间:2011-05-28 23:07:12

标签: c# silverlight json.net

我为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提供给谁。
我应该采取另一种方法吗?

1 个答案:

答案 0 :(得分:2)

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

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

语法。

相关问题