最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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頁面從后臺(tái)存儲(chǔ)中取回?cái)?shù)據(jù),然后以超文本標(biāo)記語言(HTML)的形式形成結(jié)果。不管數(shù)據(jù)庫的速度如何,從內(nèi)存中取回?cái)?shù)據(jù)要比從后臺(tái)存儲(chǔ)設(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ù)的緩存是對(duì)內(nèi)存的浪費(fèi)。

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

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

ASP中的Application和Session對(duì)象是在內(nèi)存中緩存數(shù)據(jù)的便利容器。你可以將數(shù)據(jù)賦值給Application和Session對(duì)象,這些數(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)或者會(huì)話開始時(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對(duì)象時(shí),應(yīng)該拷貝經(jīng)常使用的對(duì)象數(shù)據(jù)到腳本變量中,這樣就減少了對(duì)COM對(duì)象的方法調(diào)用。這些調(diào)用要比存取腳本變量相對(duì)來說費(fèi)時(shí)費(fèi)力。當(dāng)存取Collection和Dictionary對(duì)象時(shí),使用這項(xiàng)技巧也減少了昂貴的查找操作。

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

相關(guān)文章

最新評(píng)論

鄯善县| 达日县| 灵石县| 崇信县| 化州市| 固始县| 光泽县| 上饶县| 光泽县| 通辽市| 大方县| 芜湖县| 彩票| 应用必备| 郎溪县| 乐安县| 玛纳斯县| 山阳县| 东阿县| 陇西县| 河西区| 秭归县| 马尔康县| 辽宁省| 陈巴尔虎旗| 海丰县| 聂拉木县| 河南省| 永春县| 扶沟县| 闽清县| 绍兴市| 溆浦县| 讷河市| 滦南县| 金沙县| 濮阳市| 芜湖市| 筠连县| 松原市| 峡江县|