五月天亚洲色图_亚洲精品少妇_亚洲熟妇无码av另类本色_自拍高清综合中文_成年女人wwxx免费_国产高清视频在线观看三区_下载香蕉视频app_芒果视频下载_日韩AV综合无码中文一区_国产日产精品久久

在線幫助 ICP備案 合作機(jī)構(gòu) 我要訂制
 
 7×24客服熱線:13663712063
您的位置:首頁  技術(shù)支持 ASP.NET中常用的26個(gè)優(yōu)化性能方法
       越辰家政管理軟件
       越辰空調(diào)售后管理軟件
       越辰圖書銷售管理軟件
       越辰物業(yè)管理軟件
       越辰茶樓管理軟件
       越辰幼兒園管理軟件
       越辰餐飲管理軟件
       越辰病歷管理系統(tǒng)
       越辰洗浴管理軟件
       越辰住院管理系統(tǒng)
       越辰超市管理系統(tǒng)
  

ASP.NET中常用的26個(gè)優(yōu)化性能方法

來源:yocin  時(shí)間:2010-12-18 14:52:09  欄目:技術(shù)支持  點(diǎn)擊率:4726

  適當(dāng)?shù)厥褂霉舱Z言運(yùn)行庫的垃圾回收器和自動(dòng)內(nèi)存管理

  小心不要給每個(gè)請(qǐng)求分配過多內(nèi)存,因?yàn)檫@樣垃圾回收器將必須更頻繁地進(jìn)行更多的工作。另外,不要讓不必要的指針指向?qū)ο,因(yàn)樗鼈儗⑹箤?duì)象保持活動(dòng)狀態(tài),并且應(yīng)盡量避免含 Finalize 方法的對(duì)象,因?yàn)樗鼈冊(cè)诤竺鏁?huì)導(dǎo)致更多的工作。特別是在 Finalize 調(diào)用中永遠(yuǎn)不要釋放資源,因?yàn)橘Y源在被垃圾回收器回收之前可能一直消耗著內(nèi)存。最后這個(gè)問題經(jīng)常會(huì)對(duì) Web 服務(wù)器環(huán)境的性能造成毀滅性的打擊,因?yàn)樵诘却?Finalize 運(yùn)行時(shí),很容易耗盡某個(gè)特定的資源。

  如果有大型 Web 應(yīng)用程序,可考慮執(zhí)行預(yù)批編譯

  每當(dāng)發(fā)生對(duì)目錄的第一次請(qǐng)求時(shí)都會(huì)執(zhí)行批編譯。如果目錄中的頁面沒有被分析并編譯,此功能會(huì)成批分析并編譯目錄中的所有頁面,以便更好地利用磁盤和內(nèi)存。如果這需要很長(zhǎng)時(shí)間,則將快速分析并編譯單個(gè)頁面,以便請(qǐng)求能被處理。此功能帶給 ASP.NET 性能上的好處,因?yàn)樗鼘⒃S多頁面編譯為單個(gè)程序集。從已加載的程序集訪問一頁比每頁加載新的程序集要快。批編譯的缺點(diǎn)在于:如果服務(wù)器接收到許多對(duì)尚未編譯的頁面的請(qǐng)求,那么當(dāng) Web 服務(wù)器分析并編譯它們時(shí),性能可能較差。為解決這個(gè)問題,可以執(zhí)行預(yù)批編譯。為此,只需在應(yīng)用程序激活之前向它請(qǐng)求一個(gè)頁面,無論哪頁均可。然后,當(dāng)用戶首次訪問您的站點(diǎn)時(shí),頁面及其程序集將已被編譯。沒有簡(jiǎn)單的機(jī)制可以知道批編譯何時(shí)發(fā)生。需一直等到 CPU 空閑或者沒有更多的編譯器進(jìn)程(例如 csc.exe(C# 編譯器)或 vbc.exe(Visual Basic 編譯器))啟動(dòng)。還應(yīng)盡量避免更改應(yīng)用程序的 \bin 目錄中的程序集。更改頁面會(huì)導(dǎo)致重新分析和編譯該頁,而替換 \bin 目錄中的程序集則會(huì)導(dǎo)致完全重新批編譯該目錄。在包含許多頁面的大規(guī)模站點(diǎn)上,更好的辦法可能是根據(jù)計(jì)劃替換頁面或程序集的頻繁程度來設(shè)計(jì)不同的目錄結(jié)構(gòu)。不常更改的頁面可以存儲(chǔ)在同一目錄中并在特定的時(shí)間進(jìn)行預(yù)批編譯。經(jīng)常更改的頁面應(yīng)在它們自己的目錄中(每個(gè)目錄最多幾百頁)以便快速編譯。Web 應(yīng)用程序可以包含許多子目錄。批編譯發(fā)生在目錄級(jí),而不是應(yīng)用程序級(jí)。

  不要依賴代碼中的異常

  因?yàn)楫惓4蟠蟮亟档托阅,所以您不?yīng)該將它們用作控制正常程序流程的方式。如果有可能檢測(cè)到代碼中可能導(dǎo)致異常的狀態(tài),請(qǐng)執(zhí)行這種操作。不要在處理該狀態(tài)之前捕獲異常本身。常見的方案包括:檢查 null,分配給將分析為數(shù)字值的 String 一個(gè)值,或在應(yīng)用數(shù)學(xué)運(yùn)算前檢查特定值。下面的示例演示可能導(dǎo)致異常的代碼以及測(cè)試是否存在某種狀態(tài)的代碼。兩者產(chǎn)生相同的結(jié)果。

以下是代碼片段:
try   {   result = 100 / num;   }   catch (Exception e)   {   result = 0;   }   // ...to this.   if (num != 0)   result = 100 / num;   else   result = 0;

  使用 HttpResponse.Write 方法進(jìn)行字符串串聯(lián)

  該方法提供非常有效的緩沖和連接服務(wù)。但是,如果您正在執(zhí)行廣泛的連接,請(qǐng)使用多個(gè) Response.Write 調(diào)用。下面示例中顯示的技術(shù)比用對(duì) Response.Write 方法的單個(gè)調(diào)用連接字符串更快。

  Response.Write("a");   Response.Write(myString);   Response.Write("b");   Response.Write(myObj.ToString());   Response.Write("c");   Response.Write(myString2);   Response.Write("d"); 20. 除非有特殊的原因要關(guān)閉緩沖,否則使其保持打開

  禁用 Web 窗體頁的緩沖會(huì)導(dǎo)致大量的性能開銷。

  只在必要時(shí)保存服務(wù)器控件視圖狀態(tài)

  自動(dòng)視圖狀態(tài)管理是服務(wù)器控件的功能,該功能使服務(wù)器控件可以在往返過程上重新填充它們的屬性值(您不需要編寫任何代碼)。但是,因?yàn)榉⻊?wù)器控件的視圖狀態(tài)在隱藏的窗體字段中往返于服務(wù)器,所以該功能確實(shí)會(huì)對(duì)性能產(chǎn)生影響。您應(yīng)該知道在哪些情況下視圖狀態(tài)會(huì)有所幫助,在哪些情況下它影響頁的性能。例如,如果您將服務(wù)器控件綁定到每個(gè)往返過程上的數(shù)據(jù),則將用從數(shù)據(jù)綁定操作獲得的新值替換保存的視圖狀態(tài)。在這種情況下,禁用視圖狀態(tài)可以節(jié)省處理時(shí)間。默認(rèn)情況下,為所有服務(wù)器控件啟用視圖狀態(tài)。若要禁用視圖狀態(tài),請(qǐng)將控件的EnableViewState 屬性設(shè)置為 false。

  您還可以使用 @ Page 指令禁用整個(gè)頁的視圖狀態(tài)。當(dāng)您不從頁回發(fā)到服務(wù)器時(shí),這將十分有用。

  注意:@ Control 指令中也支持 EnableViewState 屬性,該指令允許您控制是否為用戶控件啟用視圖狀態(tài)。若要分析頁上服務(wù)器控件使用的視圖狀態(tài)的數(shù)量,請(qǐng)(通過將 trace="true" 屬性包括在 @ Page 指令中)啟用該頁的跟蹤并查看 Control Hierarchy 表的 Viewstate 列。

  【 1 】  【 2 】  【 3 】  【 4 】  【 5 】 
Copyright ◎2008-2018鄭州越辰科技有限公司 版權(quán)所有 網(wǎng)站地圖
地址:中國(guó)·河南鄭州市文化路交北環(huán)路北晨e時(shí)代B座505室 
電話:0371-63399049 13663712063 備案號(hào):豫ICP備19031456號(hào)
我們專注于 軟件開發(fā)| 網(wǎng)站制作  返回歡迎頁 
  
點(diǎn)擊這里給我發(fā)消息 越辰業(yè)務(wù)
點(diǎn)擊這里給我發(fā)消息 越辰業(yè)務(wù)
點(diǎn)擊這里給我發(fā)消息 越辰代理
點(diǎn)擊這里給我發(fā)消息 越辰技術(shù)
 ,頁面執(zhí)行時(shí)間:0.000毫秒        
up close

返回頂部

越辰科技微信
微信掃一掃