国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

增加asp.net應(yīng)用程序性能的20種方法(簡單有效)

2024-07-10 13:26:39
字體:
供稿:網(wǎng)友

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

EnableSessionState="false" %>

當然您可以在web.config應(yīng)用程序配置設(shè)置中設(shè)計<sessionState>mode的值為Off.

2.輸出緩沖設(shè)置
這個方法對你的應(yīng)用很有幫助.
asp.net應(yīng)用程序基本上在服務(wù)器端批量生成數(shù)據(jù),這時必須設(shè)置Response.Flush清空緩沖區(qū)。這樣會減輕服務(wù)器端的緩沖區(qū)壓力。

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

 

3.避免服務(wù)器端驗證.
用客戶端驗證代替服務(wù)器端驗證.服務(wù)器端數(shù)據(jù)驗證將會大量消耗您的服務(wù)器

上的資源,并且會代來大量的頁面數(shù)據(jù)回傳.

 

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

Asp.net是一個非常好的平臺,不幸的是,有很多控件會大量生成html代碼,這

樣務(wù)必會造成性能上的問題.Asp.net repeater 控件非常好用。使用它你將會

額外多寫一些代碼,但是將來您會發(fā)現(xiàn)它帶來的好處遠比多寫代碼帶來的麻煩。

 

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

 

6.使用HTTPServerUtility.Transfer去替換Response.Redirect.
Redirect(重定向)非常麻煩,它僅用于用于從當前物理服務(wù)器跳轉(zhuǎn)到其它服務(wù)

器.如果只是在本服務(wù)器內(nèi)頁面跳轉(zhuǎn)請使用transfer(轉(zhuǎn)發(fā)),這樣會減少很多沒

有必要的客戶端請求.

 

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

錯!當有無效數(shù)據(jù)傳到服務(wù)器端時IsVlid屬性被改為fasle.在繼續(xù)處理您的表單之前請檢查Page.IsValid屬性

 

8.部署應(yīng)用程序請使用Release版本
在部署應(yīng)用程序時請確定您的應(yīng)用程序應(yīng)是Release版本而不是Debug版本.假如您認為這無關(guān)僅要,你就錯了。

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

 

9.關(guān)閉 Tracing(追蹤)
Tracing是非常可怕的,你有沒有忘記關(guān)閉它.假如沒用,請確定編輯web.config并且關(guān)閉它.它將占用大量您的程序資源
<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要經(jīng)常去使用
請確定不要執(zhí)行太多回傳代碼,我已經(jīng)記不清有多少開發(fā)者忘記使用檢查IsPostBack屬性.我在平常開發(fā)中會經(jīng)常使用該屬性檢查.

 

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

異常是相當?shù)睦速M服務(wù)器端資源并會大大降低效率.盡量不使用異常處理。

 

12.設(shè)置緩存(Caching)
使用頁面快速設(shè)置頁頁Caching和使用ASP.net緩沖API!

有很多東西要學(xué),這個可不是你想像中那么簡單.這個有很多策略要采用.什么時候使用緩沖?你使用緩存了嗎?

 

13.設(shè)置每一次請求緩存
使用HTTPContect.Items僅要添加一個頁面用來設(shè)置每一個請求緩存.

 

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

假如您連接的字符串較上可以不使用,當連接次數(shù)大于3次上建議使用StringBuilder.Append方法,當然也可以使用String.Concat

 

15.關(guān)閉ViewState
假如你沒有使用表單數(shù)據(jù)回傳,那么關(guān)閉viewsate。控件回自動打開viewstate這樣回減慢你應(yīng)用程序速度.

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

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

 

16.使用分頁
.net應(yīng)用程序分頁有利用應(yīng)用程序效率.每次盡量顯示小部分數(shù)據(jù),這樣會加快頁面顯示速度。請小心使用混合緩存,請不要設(shè)置所有數(shù)據(jù)在緩存區(qū)中。

17.當更新應(yīng)用程序時使用AppOffline.htm
我非常討厭asp.net默認錯誤消息.我是那么的開心假如我再也看不到那些錯誤消息.確定您的用戶也不要看到它.使用AppOffline.htm去替代它。

 

18.控件使用ControlState而不使用ViewState

 

19.使用finally方法回收資源
假如你在應(yīng)用中大量使用數(shù)據(jù)庫連接和訪問文件,請確定在用完后關(guān)閉它們.

finally塊是程序中最后被執(zhí)行,因此在這里面的代碼會確寶一定會被執(zhí)行,關(guān)閉代碼一定要在這個方法塊中執(zhí)行

20.請嚴格按照以上方法執(zhí)行

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 上饶县| 泸水县| 石屏县| 朔州市| 哈巴河县| 东港市| 英山县| 大冶市| 房产| 河源市| 固始县| 循化| 手游| 财经| 布尔津县| 富川| 吉隆县| 武乡县| 太和县| 诸暨市| 贵定县| 光山县| 墨玉县| 泉州市| 澳门| 奉节县| 府谷县| 通辽市| 山东省| 桓仁| 玉门市| 巴中市| 昌宁县| 梓潼县| 南华县| 稷山县| 靖宇县| 凤山县| 丰台区| 额尔古纳市| 隆子县|