我为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
提供给谁。
我应该采取另一种方法吗?
答案 0 :(得分:2)
我认为你应该这样做。我不认为您可以强制JsonTextReader使用异步方法,但您可以修改用于使数据异步运行的整个方法。另外,使用
using(var io = new StreamReader())
{
io.Read();
}
语法。