0

Как часть приложения, которое я делаю, нам нужно получить ленту новостей для пользователей facebook (желательно около 150 сообщений).Самый быстрый способ запросить новостной канал для пользователей Facebook

var client = new FacebookClient(accessToken); 
result = client.Get(connection); 

Это выше занимает примерно 2 секунды

Однако, когда я увеличить запрос, чтобы быть 150 сообщений

var client = new FacebookClient(accessToken); 
    result = client.Get(connection, new { fields = "name,from,story,message,picture,comments", limit = count }); 

Это в настоящее время принимает 6-8 секунд. Это не вложенный запрос, так что я прав, думая, что FQL не даст мне увеличения производительности? Является ли это время отклика на лучшее, на что я могу надеяться?

+0

Зачем вам эти данные? Вы хотите сделать что-то злобное? – rekire

+0

@rekire Нет :) Его на фоне игры в Facebook – Tom

ответ

1

Выполнение нескольких запросов, вероятно, лучше. Вы можете запускать каждый асинхронный запрос на сервер и постепенно загружать данные. Итак, первый вызов загружает сообщения в ~ 2 секунды, а затем через ~ 4 секунды вы получите вторую партию данных из Facebook. Повторяйте, пока не получите нужное количество сообщений.

Это будет означать, что пользователь быстрее увидит данные, а ваше приложение обработает небольшие фрагменты данных.

Позаботьтесь о кодировании цикла и учетной записи для отказа. То есть если вызов не удался, повторите попытку или потерпите неудачу.

+0

для флеш-игры, поэтому мне нужно сгенерировать все изображение, 2-секундный запрос возвращает только 12 элементов, поэтому будет много вызовов, хорошая идея, хотя будет эксперимент – Tom

+0

Измените 'count' на разумное число, чтобы оно не увеличивало время вызова API много. Попробуйте 25 сообщений. –

Смежные вопросы