程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 增加asp.net應用程序性能的20種方法

增加asp.net應用程序性能的20種方法

編輯:.NET實例教程

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&

$False$

quot;/>
 <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.請嚴格按照以上方法執行

這地方有很多四面八方的朋友,假如您有什麼促進ASP.Net應用程序性能的良策,請讓我們知道.我們很樂意去傾聽.

開發愉快!

原文:http://www.realsoftwaredevelopment.com/2007/08/20-tips-to-impr.Html

ACCP侯明強老師(翻譯)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved