2011-04-15 56 views
0

我正在開發一個WCF數據服務,我想使用SetEntitySetPageSize(允許服務器分頁)和MaxResultsPerCollection(設置返回的最大行數)在一起。爲什麼我們不能一起使用SetEntitySetPageSize和MaxResultsPerCollection?

不幸的是,你不能。我的問題是爲什麼?也許我錯過了一些東西。我想這可能是一個好主意,取決於某人的情況?是否因爲我們希望OData Feed能夠返回所有內容?

當您想要使用Silverlight應用程序或Web應用程序時,會發生什麼情況。如果用戶不會自己限制結果,他們可能會遇到大的結果集....也許這就是關鍵所在。最終用戶要小心......?

回答

3

這兩個設置都是服務器上的安全/性能功能。如果限制超時,則MaxResultsPerCollection會導致服務器使請求失敗。 SetEntitySetPageSize允許服務器僅返回一小部分數據,並留給客戶端以便在需要時提供更多信息。 除了真正惡意的客戶,他們會用很多「給我下一頁」的請求來轟炸你的服務器,SetEntitySetPageSize比MaxResultsPerCollection好得多。如果服務器接受無限次數的客戶端請求,則有更簡單的方法可以讓服務器受到影響。 至於你的最後一個問題,我認爲這實際上是一件好事,它取決於客戶。有些客戶可能能夠/想要處理所有數據,無論多大。那些不能隨時停下來的人。 也許如果你能描述你認爲你會同時需要的場景......

+0

真棒回答@ vitek-karas-msft。這絕對有助於我理解爲什麼現在。謝謝! – klabranche 2011-04-15 22:41:25

+0

@ vitek-karas-msft - 順便說一句,我無法想到兩種方案都會產生很大的意義。 :-) – klabranche 2011-04-15 22:49:35

相關問題