亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP編程入門進(jìn)階(十九):ASP技巧累加(二)

 更新時(shí)間:2007年01月03日 00:00:00   作者:  
嚴(yán)格控制Session

可以將不需要Session的內(nèi)容(比如幫助畫面,訪問者區(qū)域,等等)移動(dòng)到關(guān)閉Session的獨(dú)立ASP應(yīng)用程序中。在基礎(chǔ)頁面上,可以給ASP一個(gè)指示,讓它不需要使用Session。將下面的代碼直接加入到ASP頁面的頭部:

<%@EnableSessionState=False%>


在Web服務(wù)器上緩存經(jīng)常使用的數(shù)據(jù)

典型的情況是:ASP頁面從后臺存儲中取回?cái)?shù)據(jù),然后以超文本標(biāo)記語言(HTML)的形式形成結(jié)果。不管數(shù)據(jù)庫的速度如何,從內(nèi)存中取回?cái)?shù)據(jù)要比從后臺存儲設(shè)備中快得多。從本地硬盤讀取數(shù)據(jù)通常也非???。所以,提高性能可以通過緩存服務(wù)器上的數(shù)據(jù)來實(shí)現(xiàn),無論是將數(shù)據(jù)緩存在內(nèi)存中,或者本地硬盤中。

緩存是經(jīng)典的“空間換時(shí)間”的折中方式。如果緩存得恰當(dāng),就可以看到顯著的性能提升。為了讓緩存有效,必須保證緩存數(shù)據(jù)是經(jīng)常要重用的,而且也是計(jì)算起來繁瑣的。裝滿陳舊數(shù)據(jù)的緩存是對內(nèi)存的浪費(fèi)。

不經(jīng)常改變的數(shù)據(jù)是緩存的較好對象,因?yàn)椴恍枰S時(shí)考慮這些數(shù)據(jù)更新后的同步操作。組合框、參考表格、DHTML代碼、擴(kuò)展標(biāo)記語言串、菜單以及站點(diǎn)配置變量(包括數(shù)據(jù)源名字,Internet協(xié)議地址IP以及Web路徑)都是很好的緩存對象。注意:要緩存數(shù)據(jù)表達(dá)式而不是數(shù)據(jù)本身。如果一個(gè)ASP頁面經(jīng)常變化并且很費(fèi)力去緩存(比如整個(gè)產(chǎn)品目錄),就要考慮預(yù)產(chǎn)生HTML,而不是每次發(fā)生請求時(shí)再描述它。

在Application或Session對象中緩存經(jīng)常使用的數(shù)據(jù)

ASP中的Application和Session對象是在內(nèi)存中緩存數(shù)據(jù)的便利容器。你可以將數(shù)據(jù)賦值給Application和Session對象,這些數(shù)據(jù)在HTTP調(diào)用期間將一直保持在內(nèi)存中。Session中的數(shù)據(jù)是為每一個(gè)用戶服務(wù)的,Application中的數(shù)據(jù)是所有用戶共享的。

何時(shí)需要在Application和Session中裝入數(shù)據(jù)?通常,當(dāng)應(yīng)用程序啟動(dòng)或者會話開始時(shí),數(shù)據(jù)就被裝入了。為了在這時(shí)裝入數(shù)據(jù),在Application OnStart()或者Session OnStart()中分別添加適當(dāng)?shù)拇a。這些函數(shù)位于文件Global.asa中,如果原來不存在,就添加上。也可以在數(shù)據(jù)首次需要的時(shí)候調(diào)入,在ASP頁面中添加代碼,檢查數(shù)據(jù)是否存在,如果沒有發(fā)現(xiàn),就調(diào)入它。這里有一個(gè)例子,它代表了被稱為“l(fā)azy evalution”的經(jīng)典性能處理技術(shù):直到需要,再去計(jì)算。


拷貝經(jīng)常使用的數(shù)據(jù)到腳本變量中

在ASP中存取COM對象時(shí),應(yīng)該拷貝經(jīng)常使用的對象數(shù)據(jù)到腳本變量中,這樣就減少了對COM對象的方法調(diào)用。這些調(diào)用要比存取腳本變量相對來說費(fèi)時(shí)費(fèi)力。當(dāng)存取Collection和Dictionary對象時(shí),使用這項(xiàng)技巧也減少了昂貴的查找操作。

通常,如果要不止一次地存取對象數(shù)據(jù),就應(yīng)將數(shù)據(jù)放入腳本變量中,對象數(shù)據(jù)主要也就是Request變量(表單和查詢字符串變量)。比如,站點(diǎn)要傳遞一個(gè)叫做UserID的查詢字符串變量,假設(shè)它將在一個(gè)特殊頁面被引用12次,那么不需要調(diào)用Request("UserID")12次,只要在ASP頁面的頭部分配給UserID一個(gè)變量,然后在頁面中使用它,這樣做就節(jié)省了11次COM方法的調(diào)用。

在任何可能時(shí)使用Server.Transfer,而不要用Response.Redirect

Response.Redirect告訴瀏覽器請求另一個(gè)不同的頁面,這常常用于引導(dǎo)用戶到登錄頁面或者出錯(cuò)處理頁面。由于重定向強(qiáng)迫了一個(gè)新頁面請求,結(jié)果是瀏覽器必須要與Web服務(wù)器循環(huán)2次,并且Web服務(wù)器必須處理一個(gè)額外的請求。Server.Transfer執(zhí)行在同一服務(wù)器上的頁面?zhèn)鬏?,這將避免額外的瀏覽器-Web服務(wù)器的數(shù)據(jù)循環(huán),形成良好的系統(tǒng)性能,對于用戶也有較好的響應(yīng)時(shí)間。當(dāng)然Server.Transfer只支持相對路徑(即站內(nèi)使用)。

相關(guān)文章

最新評論