提高ASP.NET性能的方法
發(fā)表時(shí)間:2024-02-04 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
一、性能參數(shù):
1、 吞吐量
2、 響應(yīng)時(shí)間
3、 執(zhí)行時(shí)間
4、 可伸縮性
二、性能因素:
1、ASPX執(zhí)行環(huán)境
2、編寫(xiě)代碼邏輯
三、提高性能的方法:
1、 避免不必要的操作.例如:在Page_Load中使用IsPostBack;
2、 盡量減少使用服務(wù)器端控件
3、 關(guān)閉不必要的頁(yè)面Session和控件的ViewState <%@Page EnableSessionState =”false”%>
4、 禁用VB和JSP動(dòng)態(tài)類型 <%@Page Language=”VB” Strict=”true”%>
5、 使用存儲(chǔ)過(guò)程
6、 使用DateReader代替DataSet
7、 關(guān)閉ASP.Net的Debug模式
8、 使用ASP.Net的Output Cache緩沖
<%@ OutputCache Duration=60 VaryByParam=”None” %>
<%@ OutputCache Duration=60 VaryByParam=”TextBox1,TextBox2” %>
說(shuō)明: Duration是設(shè)置Cache的過(guò)期時(shí)間;
VarByParam是設(shè)置是否根據(jù)參數(shù)而變化,None時(shí)所有參數(shù)使用同一Cache,設(shè)置TextBox1時(shí)則根據(jù)TextBox1的不同值分別緩存;當(dāng)有多個(gè)參數(shù)時(shí)則要組合緩存;
9、 不要使用Exception控制程序流程
try
{
result=100/num;
}
catch(Exception e)
{
result=0;
}
if(num!=0)
result = 100/num;
else
result=0;
四、緩沖分類:
1頁(yè)面緩沖:根據(jù)VarByParam來(lái)進(jìn)行不同的緩沖處理。
2片段緩沖:在頁(yè)面控件中使用頁(yè)面緩沖,當(dāng)一個(gè)頁(yè)面里多次使用同一個(gè)頁(yè)面控件時(shí),需要根據(jù)VarByControl來(lái)進(jìn)行不同的緩沖處理。
3數(shù)據(jù)緩沖:Cache(范圍是和Application一樣,所有用戶)
Cache.Insert(“MyData”,Source,null,new CacheDependency(Server.MapPath(“authors.xml”)));
Cache.Insert(“MyData”,Source,null,DateTime.Now.AddHours(1),TimeSpan.Zero);
Cache.Insert(“MyData”,Source,null,DateTime.MaxValue,TimeSpan.FromMinutes(20));