JsonTextReader застревает после чтения определенного количества строк - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь десериализовать большой поток твитов Твиттера.

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

...