在這篇文章中,將介紹一些提高 ASP.NET Web 應(yīng)用性能的方法和技巧。眾所周知,解決性能問(wèn)題是一項(xiàng)繁瑣的工作,當(dāng)出現(xiàn)性能問(wèn)題,每個(gè)人都會(huì)歸咎于編寫(xiě)代碼的開(kāi)發(fā)人員。
那性能問(wèn)題到底該如何解決?以下是應(yīng)用系統(tǒng)發(fā)布前,作為 .NET 開(kāi)發(fā)人員需要檢查的點(diǎn)。
1.debug=「false」
當(dāng)創(chuàng)建 ASP.NET Web應(yīng)用程序,默認(rèn)設(shè)置為「true」。開(kāi)發(fā)過(guò)程中,設(shè)置為「true」是非常有用多,但在應(yīng)用程序發(fā)布部署時(shí),需將其設(shè)置為「false」。
<compilation defaultLanguage="C#" debug="false" targetFramework="4.0" />
2.關(guān)閉 tracing(追蹤)
tracing 是非常可怕的,你有沒(méi)有忘記關(guān)閉它。假如沒(méi)用,請(qǐng)確定編輯 web.config 并且關(guān)閉它。它將占用大量您的程序資源。
<trace enabled="false" requestLimit=”10” pageoutput=”false” traceMode=”SortByTime” localOnly=”true”>
3.禁用 session
假如您用不到 session 會(huì)話跟蹤請(qǐng)務(wù)必禁用它。您可以在每個(gè) asp.net 頁(yè)面中設(shè)置如下:
<%@ page language="c#" codebehind="webform1.aspx.cs" autoeventwireup="false" inherits="webapplication1.webform1"enablesessionstate="false" %>
4.使用發(fā)布版本部署應(yīng)用
部署應(yīng)用程序到生產(chǎn)環(huán)境時(shí),要確保使用的發(fā)布版本模式,而不是調(diào)試模式。如果使用調(diào)試模板極容易發(fā)生請(qǐng)求超時(shí)。部署成發(fā)布版本,你將會(huì)發(fā)現(xiàn)速度有很大的提升。
5.關(guān)閉頁(yè)面的 View State
View State 主要是在提交以后回顯用的,它只有在頁(yè)面中的數(shù)據(jù)是提交到本頁(yè)時(shí)才有用。其默認(rèn)是「true」。如果你沒(méi)有使用表單數(shù)據(jù)回傳,那么可以關(guān)閉 View State。
<%@ Page EnableViewState="false" %>
6.避免使用 Response.Redirect
Redirect(重定向)非常麻煩,它僅用于用于從當(dāng)前物理服務(wù)器開(kāi)發(fā)跳轉(zhuǎn)到其它服務(wù)器。如果只是在本服務(wù)器開(kāi)發(fā)內(nèi)頁(yè)面跳轉(zhuǎn)請(qǐng)使用 Server.Transfer 語(yǔ)法,這樣會(huì)減少很多沒(méi)有必要的客戶端重定向。
7.運(yùn)用 StringBuilder 類以及使用 ToString()方法
String 類對(duì)象是不可改變的,對(duì)于 String 對(duì)象的重新賦值在本質(zhì)上是重新創(chuàng)建了一個(gè) String 對(duì)象并將新值賦予該對(duì)象,其方法 ToString 對(duì)性能的提高并非很顯著。在處理字符串時(shí),最好使用 StringBuilder 類,其 .NET 命名空間是 System.Text。該類并非創(chuàng)建新的對(duì)象,而是通過(guò) Append,Remove,Insert 等方法直接對(duì)字符串進(jìn)行操作,通過(guò) ToString 方法返回操作結(jié)果。 其定義及操作語(yǔ)句如下所示
int num; System.Text.StringBuilder str = new System.Text.StringBuilder(); //創(chuàng)建字符串 str.Append(num.ToString()); //添加數(shù)值num Response.Write(str.ToString); //顯示操作結(jié)果
新聞熱點(diǎn)
疑難解答
圖片精選