0

私が行っているアプリケーションの一部として、ユーザーの Facebook ニュース フィード (できれば約 150 の投稿) を取得する必要があります。

 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 を使用してもパフォーマンスが向上しないと考えるのは正しいでしょうか? この種の応答時間は、私が期待できる最高のものですか?

4

1 に答える 1

1

複数のクエリを実行する方がおそらく良いでしょう。サーバーに対して非同期で各リクエストを実行し、データを段階的にロードできます。したがって、最初の呼び出しは約2秒で投稿を読み込み、約4秒後にFacebookから2番目のデータバッチを取得します。必要な数の投稿が得られるまで繰り返します。

これは、アプリがデータのより小さなチャンクを処理している間、ユーザーがデータをより速く見ることができることを意味します。

ループのコーディングには注意し、失敗を考慮してください。つまり、呼び出しが失敗した場合は、呼び出しを再試行するか、正常に失敗します。

于 2012-05-30T11:51:11.630 に答える