2011-01-07 61 views
0

在我的示例項目中,我將實體頁面大小設置爲20.然後我設置了一個實體集,其結果數可以被整除頁面大小。例如,分類集有100個項目。當我去:WCF數據服務分頁行爲

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

我得到了第81至第100個類別和頁面有「下一個」鏈接

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

我試着去那個網頁,並沒有返回。 這是什麼解釋?

回答

1

分頁只需要下一個PageSize項目。如果發現少於這個數字,那麼顯然沒有更多的項目可以返回,所以你不會得到下一個鏈接。如果查詢返回請求數目的項目,運行時不會嘗試確定這是否是最後一頁,它只會返回下一個鏈接。可能發生這樣的鏈接將不會返回結果。 事實上,下一個鏈接不會返回任何結果,但只要響應構成另一個鏈接,就會有更多結果。內置分頁標準將返回預定義大小的頁面(除最後一頁外),但服務可以自由使用任何其他類型的分頁,這些分頁可能會爲每個頁面返回不同的大小(包括空白頁面)。

要直接回答您的問題「爲什麼最後一頁是空的?」: 運行時不會「向前看」,因此它無法分辨給定頁是否是最後一頁,預期的結果數量。展望未來將是昂貴的(要求超過必要的)並且可能是錯誤的(如果額外的結果導致錯誤......)。

+0

感謝您的回答。 – jean27 2011-01-11 03:52:40