2011-01-07 15 views
0

サンプルプロジェクトでは、エンティティページサイズを20に設定しました。次に、ページサイズに割り切れる結果カウントを持つエンティティセットがあります。たとえば、100項目のカテゴリが設定されます。私がに行くとき:WCFデータサービスのページング動作

http://localhost/Sample.svc/Categories?$skiptoken=80 

私は100回目のカテゴリに第81持って、ページが「次」のリンク

http://localhost/Sample.svc/Categories?$skiptoken=100 

を持っている私は、そのページに移動しようとしましたが、それは何も返しません。 その説明は何ですか?

答えて

1

ページングは​​単に次のPageSize項目を取ります。見つからない場合、戻ってくるアイテムがもうないので、次のリンクを取得しないことは明らかです。クエリが要求された数の項目を返す場合、ランタイムはこれが最後のページかどうかを判断しようとせず、単に次のリンクを返します。そのようなリンクが結果を返さないことがあります。 実際、次のリンクは結果を返すようにはバインドされていませんが、応答が次の別のリンクを拘束する限り、より多くの結果が得られる可能性があります。組み込みの標準ページングでは、あらかじめ定義されたサイズのページ(最後のページを除く)が返されますが、サービスはページごとに異なる空ページを返す可能性のあるページングを自由に使用できます。

「最後のページが空白になっているのはなぜですか?」: ランタイムは「先読み」しないので、指定したページが最後のページかどうかを判断できません予想される結果の数先を見越すことは、コストがかかり(必要以上に求めている)、潜在的に間違っている(余分な結果によってエラーが発生した場合はどうなるでしょうか)。

+0

お返事ありがとうございます。 – jean27

関連する問題