歡迎來到合肥浪訊網絡科技有限公司官網
  咨詢服務熱線:400-0678-380

七巧招提高.NET網站功能

發布時間:2019-12-18 文章來源:本站  瀏覽次數:238

運用下面的辦法可以削減Web服務器和Browser之間的往復行程:

1、為Browser啟用緩存

假如出現的內容是靜態的或改變周期較長,應啟用Browser緩存,防止宣布冗余的http懇求。

2、緩沖頁面輸出

假如或許,則盡量緩沖頁面輸出,處理完畢后再一次傳送到客戶端,這可以防止頻頻傳遞小塊內容所形成的屢次網絡交互。因為這種辦法在頁面處理完畢之前客戶端無法看到頁面內容,因此假如一個頁面的尺寸較大的話,可考慮運用Response.Flush辦法。該辦法強制輸出迄今為止在緩沖區中的內容,你應當選用合理的算法控制調用Response.Flush辦法的次數。

3、運用Server.Transfer重定向懇求

運用Server.Transfer辦法重定向懇求優于Response.Redirect辦法。原因是Response.Redirect會向Broswer回送一個呼應頭,在呼應頭中指出重定向的URL,之后Brower運用新的URL重新宣布懇求。而Server.Transfer辦法直接是一個簡略的服務端調用,完全沒有這些開銷!

需求留意Server.Transfer有局限性:第一,它會跳過安全檢查;第二,只適用于在同一Web運用內的頁面間跳轉。

二、防止堵塞和長期的作業


假如需求運轉堵塞或長期運轉的操作,可以考慮運用異步調用的機制,以便Web服務器能夠繼續處理其它的懇求。

1、運用異步辦法調用Web服務和長途目標

只需有或許就要防止在懇求的處理過程中對Web服務和長途目標的同步調用,因為它占用的是的ASP.NET 線程池中的作業線程,這將直接影響Web服務器呼應其它懇求的才干。

2、考慮給不需求回來值的Web辦法或長途目標的辦法增加OneWay特點

這種形式能讓Web Server調用之后就當即回來。可根據實際狀況決定是否運用這種辦法。

3、運用作業隊列

將作業提交到服務器上的作業隊列中。客戶端經過發送懇求來輪詢作業的履行結果。

三、運用緩存


緩存能在很大程度上決定ASP.NET運用的最終功能。Asp.net支撐頁面輸出緩存和頁面部分緩存,并供給Cache API,供運用程序緩存自己的數據。是否運用緩存可考慮下面的要點:

1、識別創立與訪問價值較大的數據

2、評價需求緩存數據的易變性

3、評價數據的運用頻次

4、 即將緩存數據中易變數據和不變數據別離,只緩存不變數據

5、挑選適宜的緩存機制(除Asp.net Cache外,Application state和Session state也可以作為緩存運用)

四、多線程


1、防止在懇求處理過程中創立線程

在履行懇求的過程中創立線程是一種價值較大的操作,會嚴重影響Web Server的功能。假如后續的操作必須用線程完結,建議經過thread pool來創立/管理線程。

2、不要依賴線程數據槽或線程靜態變量

因為履行懇求的線程是ASP.NET thread pool中的作業線程,同一個Client的兩次懇求不一定由相同的線程來處理。

3、防止堵塞處理懇求的線程

4、防止異步調用

這和1的狀況相似。異步調用會導致創立新的線程,增加服務器的負擔。所以,假如沒有并發的作業要履行,就不要履行異步調用。

五、系統資源


1、考慮完成資源池以提升功能

2、明確地調用Dispose或Close開釋系統資源

3、不要緩存或長期占用資源池中的資源

4、盡或許晚的申請,盡或許早的開釋

六、頁面處理


1、盡量減小Page的尺寸

包含縮短控件的名稱、CSS的class的名稱、去掉無謂空行和空格、禁用不需求的ViewState

2、啟用頁面輸出的緩沖區(Buffer)

假如Buffer的機制被封閉,可以用下面的辦法打開。

運用程序打開頁面輸出緩存:

Response.BufferOutput = true;

運用@Page開關打開頁面輸出緩沖機制:

<%@ Page Buffer = "true" %>

運用Web.config或Machine.config配置文件的節點:

3、利用Page.IsPostBack優化頁面輸出

4、經過別離頁面的不同的內容,來提高緩存效率和削減出現的時刻

5、優化雜亂和價值較大的循環

6、合理利用客戶端的計算資源,將一些操作轉移到客戶端進行

七、ViewState


ViewState是Asp.net為服務端控件在頁面回傳之間盯梢狀態信息而規劃的一種機制。

1. 封閉ViewState

假如不需求盯梢頁面狀態,例如頁面不會 回傳(PostBack)、不需求處理服務端控件事件或許每次頁面改寫時都會重新計算控件內容,那么就不需求用ViewState來記錄頁面狀態了。可以對特定的WebControl設置EnableViewState特點,也可以在頁面一級設置:

<%@ Page EnableViewState="false" %>

2、在恰當的時刻點初始化控件特點

ASP.NET的控件在履行構造函數、初始化的期間設置的特點不會被盯梢改變;而在初始化階段之后對特點的修改都會被盯梢,并最終記錄到IE頁面的__VIEWSTATE之中。所以,挑選合理的初始化控件特點的履行點,能有用的減小頁面尺寸。

3、謹慎挑選放到ViewState中的內容

放到ViewState中的內容會被序列化/反序列化,Asp.net為String、Integer、Boolean等基本類型的序列化做了優化,假如Array、ArrayList、HashTable存儲的是基本類型效率也較高,但其它類型則需求供給類型轉換器(Type Converter),否則將運用價值昂貴的二進制序列化程序。

總結:光有了這些技術辦法還不夠,還需求將這些辦法根據你網站的狀況靈活運用,適時調整辦法,會集處理重要問題,這有這樣網站功能才干得到大幅度的優化

上一條:網頁標準的界說是什么...

下一條:交互規劃形式——空間回憶...

甘肃攒劲麻将 官方