Я пытаюсь десериализовать большой поток твитов Твиттера.
Все идет хорошо примерно на первых 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 застревает? Кажется, что поток, который я читаю, продолжает возвращать данные при использовании через браузер.