我目前正在爲我們的客戶端開發一些Web服務。在我們提供給他們之前,我們希望優化數據庫調用的性能,因爲可能會返回大量的數據。 (可能是數以萬計的對象,可能是數百萬,每個對象包含大約12個其他對象的列表)從ASP.net Web服務返回大量數據時有什麼好的做法?
我們不想讓我們的服務器緊張,也不想讓Web服務不必要地受到限制。
一個Web服務方法返回指定日期範圍內的所有數據,我在想,如果要返回的數據量超過設定量較大,回一條消息說是這樣的:
「數據太大,請縮小日期範圍「
是否限制了用戶的範圍?
我必須限制客戶可以一次檢索的數據量,但仍然儘可能方便地保存。我的意思是,他們也是程序員,所以它不必太簡單,但很簡單,可以使用。
有關通過Web服務返回大量數據的一些良好實踐?
謝謝!
數以萬計的究竟是什麼?千兆字節,字符串,布爾值?你肯定使用.NET與MySql? – Widor 2012-04-17 15:53:36
對不起,我應該澄清。成千上萬的對象,每個對象都包含來自12個不同表格的記錄列表。很難確切地說出什麼類型的數據類型,主要是字符串。 – PaulG 2012-04-17 15:55:49
我希望該服務返回一個具有isSuccessful布爾值和錯誤代碼(或文本)的Response對象。消費者可以檢查事務的成功(這是一個詞),並打開錯誤代碼以確定下一步該做什麼。我不建議限制返回的記錄,因爲這將基於數據集,而是做一些像日期範圍一樣的事情,所以他們知道他們總是會得到結果。 – 2012-04-17 16:01:10