我正在尝试反序列化大量 Twitter 推文。
在前 200 条反序列化的推文中,一切都很顺利,但在那之后,反序列化方法就卡住了,永远不会继续。如果我让它长时间工作,它最终会System.Net.WebException: The operation has timed out on HttpWebResponse
在很长一段时间后抛出。
var tweets = new List<Tweet>();
JsonTextReader reader;
using (var client = new WebClient())
using (var stream = client.OpenRead(url))
using (var streamReader = new StreamReader(stream))
using (reader = new JsonTextReader(streamReader))
{
reader.SupportMultipleContent = true;
var serializer = new JsonSerializer();
while (reader.Read() && tweets.Count < 500)
{
if (reader.TokenType == JsonToken.StartObject)
{
tweets.Add(serializer.Deserialize<Tweet>(reader));
}
}
}
任何想法为什么 JsonTextReader 会卡住?我正在阅读的流似乎在通过浏览器使用时继续返回数据。