增加asp.net應用程式效能的20種方法(簡單有效)

來源:互聯網
上載者:User

1.禁用session
假如您用不到session會話跟蹤請務必禁用它。您可以在每個asp.net頁面中設定如下:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1"

EnableSessionState="false" %>

當然您可以在web.config應用程式配置設定中設計<sessionState>mode的值為Off.

2.輸出緩衝設定
這個方法對你的應用很有協助.
asp.net應用程式基底本上在伺服器端批量產生資料,這時必須設定Response.Flush清空緩衝區。這樣會減輕伺服器端的緩衝區壓力。

<%response.buffer=true%>
替換成
<%response.flush=true%>

3.避免伺服器端驗證.
用用戶端驗證代替伺服器端驗證.伺服器端資料驗證將會大量消耗您的伺服器

上的資源,並且會代來大量的頁面資料回傳.

4.盡量多使用Repater控制項,而不要使用DataList, DataGrid, 和 DataView 控制項

Asp.net是一個非常好的平台,不幸的是,有很多控制項會大量產生html代碼,這

樣務必會造成效能上的問題.Asp.net repeater 控制項非常好用。使用它你將會

額外多寫一些代碼,但是將來您會發現它帶來的好處遠比多寫代碼帶來的麻煩。

5.在執行大動作操作時請使用 HttpResponse.IsClientConnected
if (Response.IsClientConnected)
{
// If still connected, redirect
// to another page.
Response.Redirect("Page2CS.aspx", false);
}
Response.Redirect有什麼錯誤嗎,請繼續答案在下面

6.使用HTTPServerUtility.Transfer去替換Response.Redirect.
Redirect(重新導向)非常麻煩,它僅用於用於從當前物理伺服器跳轉到其它服務

器.如果只是在本伺服器內頁面跳轉請使用transfer(轉寄),這樣會減少很多沒

有必要的用戶端請求.

7.當使用伺服器端驗證時請務必使用Page.IsValid檢查頁面是否能過驗證
由於您使用了驗證控制項,你可能認為asp.net會為處理以下的所有事情,是這樣嗎?

錯!當有無效資料傳到伺服器端時IsVlid屬性被改為fasle.在繼續處理您的表單之前請檢查Page.IsValid屬性

8.部署應用程式請使用Release版本
在部署應用程式時請確定您的應用程式應是Release版本而不是Debug版本.假如您認為這無關僅要,你就錯了。

如果使用debug模板極容易發生請求逾時。部署成Release版本,你將會發現速度有很大的提升.

9.關閉 Tracing(追蹤)
Tracing是非常可怕的,你有沒有忘記關閉它.假如沒用,請確定編輯web.config並且關閉它.它將佔用大量您的程式資源
<configuration>
<system.web>
<trace enabled="false" pageOutput="false" />
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
<compilation debug="false" />
</system.web>
</configuration>

10.Page.IsPostBack要經常去使用
請確定不要執行太多回傳代碼,我已經記不清有多少開發人員忘記使用檢查IsPostBack屬性.我在平常開發中會經常使用該屬性檢查.

11.避免使用異常
避免拋出異常和處理異常。除非在萬不得已情況下使用異常處理。

異常是相當的浪費伺服器端資源並會大大降低效率.盡量不使用異常處理。

12.設定緩衝(Caching)
使用頁面快速設定頁頁Caching和使用ASP.net緩衝API!

有很多東西要學,這個可不是你想像中那麼簡單.這個有很多策略要採用.什麼時候使用緩衝?你使用緩衝了嗎?

13.設定每一次請求緩衝
使用HTTPContect.Items僅要添加一個頁面用來設定每一個請求緩衝.

14.StringBuilder類的使用
StringBuilder.Append 的速要比String + String速度快的多。

假如您串連的字串較上可以不使用,當串連次數大於3次上建議使用StringBuilder.Append方法,當然也可以使用String.Concat

15.關閉ViewState
假如你沒有使用表單資料回傳,那麼關閉viewsate。控制項回自動開啟viewstate這樣回減慢你應用程式速度.

public ShowOrdersTablePage()
{
this.Init += new EventHandler(Page_Init);
}

private void Page_Init(object sender, System.EventArgs e)
{
this.EnableViewState = false;
}

16.使用分頁
.net應用程式分頁有利用應用程式效率.每次盡量顯示小部分資料,這樣會加快頁面顯示速度。請小心使用混合緩衝,請不要設定所有資料在緩衝區中。

17.當更新應用程式時使用AppOffline.htm
我非常討厭asp.net預設錯誤訊息.我是那麼的開心假如我再也看不到那些錯誤訊息.確定您的使用者也不要看到它.使用AppOffline.htm去替代它。

18.控制項使用ControlState而不使用ViewState

19.使用finally方法回收資源
假如你在應用中大量使用資料庫連接和訪問檔案,請確定在用完後關閉它們.

finally塊是程式中最後被執行,因此在這裡面的代碼會確寶一定會被執行,關閉代碼一定要在這個方法塊中執行

20.請嚴格按照以上方法執行

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.