2012-07-26 85 views
1

有沒有辦法根據用戶/連接緩存用戶請求的數據。我的情況是,我使用分頁顯示在ASP.NET Gridview中從WCF返回的數據。 gridview分頁一次只顯示10個項目。每當下一頁被點擊時,服務就會再次被調用(這需要時間)。每次調用後,WCF連接都將關閉。有沒有辦法解決這個問題?我閱讀了WCF ASP.NET緩存機制,它緩存函數調用數據,並在一定時間後過期。我的主要目的是爲每個用戶/調用緩存一次返回10個項目,而不會每10個數據再次調用長時間運行的函數。有辦法嗎?WCF GridView分頁和緩存

基本上第一次調用該函數並獲得100個項目,並且一次返回10個項目,而無需再次運行該函數(獲得100個項目)?

回答

2

我相信ASP.NET Gridview總是會做一個回發,每次用戶更改頁面時都會導致函數調用。但我可能被某人證明是錯誤的。

這就是說,這可能不是最適合您的解決方案。但是你可以避免在你的場景中使用ASP.NET Gridview。當您運行WCF調用並返回100個項目時,您將它們保存在客戶端作爲存儲在內存中的JSON文件,然後使用jQuery或其他某種形式的javascript來使用戶無需進行其他函數調用即可瀏覽頁面。

編輯

這可能成爲對你有用,幫助您做客戶端的頁面,而無需重複多次調用服務器
http://www.smallworkarounds.net/2009/02/jquery-aspnet-how-to-implement.html