我正在開發一個包含WCF服務及其ASP.NET MVC客戶端的應用程序。 ASP.NET MVC網站必須顯示一個對象網格 - 比如產品。這些產品存儲在可通過WCF服務訪問的數據庫中。因此,在MVC控制器內的某個地方,我稱之爲WCF服務的方法,它返回我需要顯示的一系列產品。通過WCF服務實現尋呼機
那麼我的問題是什麼?我想爲我的產品網格實現尋呼機功能,因爲可能會有很多產品。因此,有幾種方法可以做到這一點:
- 我的控制器可以得到產品的完整列表,只是做內存分頁
- WCF可以選擇所有產品,它們在高速緩存中存儲一些,然後通過根據請求的頁碼向控制器提供其中的一部分。
- 根據請求的頁碼,WCF只能從數據庫中選擇部分產品。
- WCF可以將IQueryable返回給控制器,然後控制器將隨時選擇他想要的任何內容。
據我瞭解(並糾正我,如果它不是真的),第一個選項是無用的,所以我必須在其他人之間進行選擇。
第二個選項浪費我的服務器的內存。
第三個選項是確定的,但在WCF端實現分頁似乎有點難看。
而第四個選項聽起來很混亂。實際上,我將某種查詢傳遞給客戶端,然後他通過WCF服務自己查詢我的數據庫。我無法弄清楚如何正確實施。
那麼你能幫我選擇正確的方法來實現這一點嗎?
是的,我正在使用LINQ-to-SQL。所以你提供的是我的第三個選擇。那麼,我可能會去做。我想到了一些懶惰的執行,當WCF服務將IQueryable傳遞給客戶端時,實際上並未從數據庫中選擇任何內容。但我不知道如何去做 –
2009-04-12 19:40:15