2010-02-01 50 views
1

我正在構建一個具有大量控件和大量數據的asp.net Web應用程序。我的應用程序非常慢,並且需要大量時間將數據加載到.net控件(如網格,樹視圖等)中。我的應用程序中也有一些Ajax化的頁面和控件。我想減少每次回發中的頁面加載時間。優化大型ASP.NET應用程序的性能

開發大型asp.net應用程序時要遵循的標準/最佳實踐是什麼?

謝謝。

NLV

+2

在ASP.NET MVC中小心地重寫它,不要只是將整個數據庫加載到'DataSet'並將其綁定到'GridView'。 – 2010-02-01 09:54:21

回答

2
  • 緩存某些數據,無論是在應用程序或數據庫(從而打破正常化,但也沒關係)

  • 檢索數據的最小的子集,你真正需要的。不要從數據庫中拉出10000條記錄到網格中,只顯示50.查詢確切爲50.

  • 最大限度地減少服務器控件和動態標記創建的數量。用被動的HTML元素替換你所能做的。

  • 關閉視圖狀態,該狀態可能會將頁面擴展爲數兆字節大小。從每個請求的數據庫中提取數據(結合緩存策略)。

+0

第二點對數據網格很有意義。但是如果我有一個樹查看器控件來代替datagrid控件呢?我有幾千個節點在控制中。有任何想法嗎? – NLV 2010-02-01 10:10:48

+2

我相信你應該只檢索一個節點的數據,當它被點擊展開時。在此之前,只會加載較高層級的數據。子節點按需加載其數據(並且只在頂級層次結構中,直到它們的子節點被點擊)。 – 2010-02-01 10:40:37