Неправильная исключительная ситуация при получении следующей страницы друзей в твиттере

Привет! Я пользуюсь твиттерзером, чтобы получить список друзей для аутентифицированного пользователя. После нескольких успешных итераций цикла while. Я получаю неверное исключение при вызове ResponseObject.NextPage. Я озадачен тем, почему я получаю ошибку. Кто-нибудь может понять почему?

Код ниже.

    List<String> GetFriends(OAuthTokens tokens)
    {
        var result = new List<String>();
        TwitterResponse<TwitterUserCollection> friendsResponse = TwitterFriendship.Friends(tokens);
        if (friendsResponse.Result != RequestResult.Success)
        {
            return new List<string> {friendsResponse.ErrorMessage};

        }

        TwitterUserCollection friends = friendsResponse.ResponseObject;

        while (friends != null)
        {
            result.AddRange(friends.Select(x => x.Name));
            var y = friends.NextPage(); //ERROR HERE
            friendsResponse = y; 

            if (friendsResponse.Result != RequestResult.Success)
            {
                return new List<string> {friendsResponse.ErrorMessage};

            }
            friends = friendsResponse.ResponseObject;
        }
        return result;
    }

2 ответа

Решение

Это похоже на ошибку... NextPage будет удален из следующей версии Twitterizer http://forums.twitterizer.net/viewtopic.php?f=9&t=475

Если это может помочь, я обнаружил, что у меня было это исключение при чтении географических координат с широтой или долготой, установленными в целочисленное значение (без каких-либо ".").

Преобразование в double вызвало исключение, поэтому я изменил эту часть исходного кода в Methods\Geo\Coordinate.cs:

if (count % 2 > 0)
{
    result.Add(new Coordinate());
    result[itemIndex].Latitude = (double)reader.Value;
}
else
{
    result[itemIndex].Longitude = (double)reader.Value;
}

в

if (count % 2 > 0)
{
    result.Add(new Coordinate());
    result[itemIndex].Latitude = System.Convert.ToDouble(reader.Value);
}
else
{
    result[itemIndex].Longitude = System.Convert.ToDouble(reader.Value);
}

и не более исключения...

Другие вопросы по тегам