2012-04-25 71 views
2

大家好我正在使用vs2008 c#asp.net。我在我的項目中包含許多網格視圖列表視圖和文本框以及圖像上傳控件。所有的控件都來自vs2008的標準工具包。我想知道改善我的項目的頁面加載時間的可能方法。我聽說過視圖壓縮。還有其他建議嗎?請幫忙。由於如何提高asp.net網站的頁面加載時間?

+0

@Russ凸輪可以請你告訴什麼是atlest通用的技術名稱..像viewstate壓縮? – 2012-04-25 14:19:15

+0

嘗試使用**中繼器**而不是** gridview **這是更快。也看看這個問題,這可能會給你一些想法** http://programmers.stackexchange.com/questions/84790/how-to-increase-the-speed-of-the-page-loading-in-asp -淨** – 2012-04-25 14:21:53

回答

1

你應該做的第一件事是衡量目前的狀態,有很多工具可以幫助您完成此任務:

  • Google page speed
  • YSlow
  • Web page test
  • Pingdom tools
  • Fiddler 2
  • ViewState Size - Firefox分機。
  • ViewState viewer - Firefox ext。你需要測量

    • 是什麼時候第一個字節,或需要爲服務器生成頁面的時間

    的東西,它應該是小於0.5秒。如果此時間更長,則使用Visual Studio Profiler查找瓶頸並優化關鍵部分

  • 測量視圖狀態大小並分析內容,因爲您正在使用大量gridview,這可能是問題,因此在SO上有幾十個posts有關這個問題
  • 瞭解 ViewState中,以及它是如何工作的,優秀的後here
  • 你應該減少請求的數量,在一個文件合併CSS和JavaScript,還有很多free tools to do that
  • 打開IIS的gzip壓縮
  • 使用Fiddler來看看如何在您的請求本地緩存
  • 使用Css Image Sprites的小圖像
  • 使用asp.net緩存,這真的很好,它的情況下,對於很多使用場景提供瞭解決方案,特別是有幫助的,其中增加的流量是問題
-1
  • ViewState的模式可能會即使您正在使用重物控制設置爲false

,他們可能不需要有Vie的wState「啓用」。所以,試圖找出當你實際上並不需要他們,他們每個人的ViewStateMode屬性設置爲false:

ViewStateMode="Disabled" 

這將減少ViewState中的尺寸,使性能得以提高

  • gzip壓縮

按照此tutorial你可以設置ViewState的壓縮,以減少其規模並提高網站性能

  • 監控您的ViewState大小

通過使用該Mozilla add-on,您可以監控的ViewState的大小,看是否是網站的緩慢的真正原因,因爲這也可能與SQL查詢或其他與ViewState不同的原因

1

首先關注優化服務器端。如果您有「多個網格視圖」,則取決於它們的來源(例如數據庫),您可以嘗試改進數據訪問的處理。搜索適合您的應用程序的適當優化技術。

你也可以嘗試減少網格的數量。由於要求,這可能不是一種可能的選擇。

你也可以看看moving your ViewState from the top of the page to the bottom,與其他標準的客戶端優化(減少資源的調用,在文件頭的地方CSS數一起,在文件結尾的腳本,使客戶端緩存等。 )。

1

ViewState的分塊

作爲替代壓縮,可以考慮分塊ViewState中,它基本上將ViewState的跨越幾個隱藏字段,而不是隻有一個。這可以在整體頁面性能方面產生適度的改善。

看看這篇文章:Large ViewState & ViewState Chunking

替代存儲

也有,你可以存儲比頁面上的隱藏字段等的ViewState信息的幾個其他的方式。

看看這篇文章:Manage ViewState Using ASP.NET 2.0 Provider Architecture

ViewState的壓縮

就個人而言,我發現壓縮ViewState網在性能方面最大的收益,因此,如果它是一個可能性,我肯定會探索它。 Telerik的RadCompression模塊工作很好,但它不是免費的。儘管如此,你也可以自己實現它。

檢查出的ViewState壓縮這些文章:

最後,無論你並不需要跟蹤ViewState中,設置EnableViewState爲false。