the*_*row 5 c# silverlight json.net
我NetworkStream为Silverlight 实现了自己的端口,它只允许异步调用.
我想读一些我从服务器获得的JSON-RPC消息,所以我想我会使用JSON.NET,JsonTextReader所以我最终得到了以下代码:
reader = new JsonTextReader(new StreamReader(new NetworkStream(new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))));
// ...
reader.Read();
Run Code Online (Sandbox Code Playgroud)
我的问题是它将尝试执行同步操作,而后者又会抛出UnsupportedException.
是否有异步StreamReader,我可以JsonTextReader提供?
我应该采取另一种方法吗?
我想你应该。我认为您不能强制 JsonTextReader 使用异步方法,但您可以修改用于获取数据的整个方法以异步运行。另外,使用
using(var io = new StreamReader())
{
io.Read();
}
Run Code Online (Sandbox Code Playgroud)
句法。