Неправильная исключительная ситуация при получении следующей страницы друзей в твиттере
Привет! Я пользуюсь твиттерзером, чтобы получить список друзей для аутентифицированного пользователя. После нескольких успешных итераций цикла 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);
}
и не более исключения...