干貨分享提升ASP.NET功能運(yùn)用的20種技巧-下篇 |
發(fā)布時(shí)間:2017-11-26 文章來源:本站 瀏覽次數(shù):3800 |
浪訊科技持續(xù)為您帶來進(jìn)步ASP.NET功能技巧的開發(fā)思路: 11.運(yùn)用 Page.IsPostback 請保證不履行過多的回傳代碼。運(yùn)用 Page.IsPostBack 特點(diǎn),以保證只履行頁面初始化邏輯,當(dāng)一個(gè)頁面第一次加載,而不向呼應(yīng)客戶回發(fā)。 12.運(yùn)用分頁 大多數(shù) Web 運(yùn)用程序數(shù)據(jù)是以表格方式顯現(xiàn)。分頁有運(yùn)用運(yùn)用開發(fā)程序功率。每次盡量顯現(xiàn)小部分?jǐn)?shù)據(jù),這樣會(huì)加速頁面顯現(xiàn)速度。 13.運(yùn)用 Ajax 異步調(diào)用 運(yùn)用 Ajax 辦法,進(jìn)行異步調(diào)用。 14.刪去未運(yùn)用的 HttpModules 關(guān)于 httpModules,我們能夠理解為:樹立一個(gè)通用的可用被刺進(jìn)任何 Web 運(yùn)用程序的 HttpApplication 事情鉤子。運(yùn)用 HttpModule 是可復(fù)用的,不需求特定語運(yùn)用程序代碼的,只需求 web.config 中的一個(gè)條目。 在 web.config 文件中,刪去未運(yùn)用的 HttpModules。 15.防止遞歸函數(shù)/嵌套循環(huán) 在任何編程言語中都需防止嵌套循環(huán)和遞歸函數(shù),以進(jìn)步功能。 16.不運(yùn)用不必要的 Server Control ASP.NET 中,很多的服務(wù)器端控件方便了程序開發(fā),但也可能帶來功能的損失,因?yàn)橛脩裘坎僮饕淮畏⻊?wù)器端控件,就產(chǎn)生一次與服務(wù)器端的往復(fù)進(jìn)程。因而,非必要,應(yīng)當(dāng)少運(yùn)用 Server Control。 17.調(diào)用多個(gè)操作時(shí),請運(yùn)用多線程 問題出現(xiàn)時(shí),單線程卡在此問題上長期運(yùn)行。因而,能夠運(yùn)用多個(gè)線程以進(jìn)步運(yùn)用程序的呼應(yīng)速度。 18.數(shù)據(jù)庫的銜接和封閉 拜訪數(shù)據(jù)庫資源需求創(chuàng)立銜接、翻開銜接和封閉銜接幾個(gè)操作。這些進(jìn)程需求屢次與數(shù)據(jù)庫交流信息以經(jīng)過身份驗(yàn)證,比較消耗服務(wù)器資源。ASP.NET 中提供了銜接池(Connection Pool)改進(jìn)翻開和封閉數(shù)據(jù)庫對功能的影響。體系將用戶的數(shù)據(jù)庫銜接放在銜接池中,需求時(shí)取出,封閉時(shí)回收銜接,等候下一次的銜接懇求。銜接池的巨細(xì)是有限的,如果在銜接池到達(dá)最大極限后仍要求創(chuàng)立銜接,必定大大影響功能。因而,在樹立數(shù)據(jù)庫銜接后只有在實(shí)在需求操作時(shí)才翻開銜接,運(yùn)用完畢后立刻封閉,從而盡量削減數(shù)據(jù)庫銜接翻開的時(shí)刻,防止出現(xiàn)超出銜接約束的狀況。 19.高功能的 SQL 句子規(guī)矩 盡量防止全表掃描 盡量防止在 where 子句中對字段進(jìn)行 null 值判別 盡量防止在 where 子句中運(yùn)用 != 或 <> 操作符 盡量防止在 where 子句中運(yùn)用 or 來銜接條件 in 和 not in 也要慎用 不要在 where 子句中的「=」左面進(jìn)行函數(shù)、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算 Update 句子,如果只更改1、2個(gè)字段,不要Update悉數(shù)字段 關(guān)于多張大數(shù)據(jù)量(這兒幾百條就算大了)的表JOIN,要先分頁再JOIN,否則邏輯讀會(huì)很高,功能很差 20.緩存 緩存是一種用空間換取時(shí)刻的技能,通俗點(diǎn)也就是說把你得到的數(shù)據(jù)存放在內(nèi)存中一段時(shí)刻,在這短時(shí)刻內(nèi)服務(wù)器不去讀取數(shù)據(jù)庫、或是實(shí)在的數(shù)據(jù)源,而是讀取你存放在內(nèi)存中的數(shù)據(jù)。 緩存是網(wǎng)站功能優(yōu)化不行短少的一種數(shù)據(jù)處理機(jī)制,他能有用的緩解數(shù)據(jù)庫壓力。 ASP.NET 中的緩存首要分為: 頁面緩存 數(shù)據(jù)源緩存 自定義數(shù)據(jù)緩存 |
|