我正在構建一個具有大量控件和大量數據的asp.net Web應用程序。我的應用程序非常慢,並且需要大量時間將數據加載到.net控件(如網格,樹視圖等)中。我的應用程序中也有一些Ajax化的頁面和控件。我想減少每次回發中的頁面加載時間。優化大型ASP.NET應用程序的性能
開發大型asp.net應用程序時要遵循的標準/最佳實踐是什麼?
謝謝。
NLV
我正在構建一個具有大量控件和大量數據的asp.net Web應用程序。我的應用程序非常慢,並且需要大量時間將數據加載到.net控件(如網格,樹視圖等)中。我的應用程序中也有一些Ajax化的頁面和控件。我想減少每次回發中的頁面加載時間。優化大型ASP.NET應用程序的性能
開發大型asp.net應用程序時要遵循的標準/最佳實踐是什麼?
謝謝。
NLV
緩存某些數據,無論是在應用程序或數據庫(從而打破正常化,但也沒關係)
檢索數據的最小的子集,你真正需要的。不要從數據庫中拉出10000條記錄到網格中,只顯示50.查詢確切爲50.
最大限度地減少服務器控件和動態標記創建的數量。用被動的HTML元素替換你所能做的。
關閉視圖狀態,該狀態可能會將頁面擴展爲數兆字節大小。從每個請求的數據庫中提取數據(結合緩存策略)。
第二點對數據網格很有意義。但是如果我有一個樹查看器控件來代替datagrid控件呢?我有幾千個節點在控制中。有任何想法嗎? – NLV 2010-02-01 10:10:48
我相信你應該只檢索一個節點的數據,當它被點擊展開時。在此之前,只會加載較高層級的數據。子節點按需加載其數據(並且只在頂級層次結構中,直到它們的子節點被點擊)。 – 2010-02-01 10:40:37
您可以使用JQuery從數據庫中檢索數據,這比使用ajax好得多。檢查這個http://www.codeproject.com/KB/webservices/JsonWebServiceJQuery.aspx
在ASP.NET MVC中小心地重寫它,不要只是將整個數據庫加載到'DataSet'並將其綁定到'GridView'。 – 2010-02-01 09:54:21