LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何寫出優(yōu)秀的ASP應(yīng)用程序

admin
2010年7月8日 0:32 本文熱度 5918
[p]怎樣創(chuàng)建魯棒性、正確性、可維護(hù)性和性能俱佳的asp應(yīng)用程序?要做什么?不做什么?本文以提綱的形式,給出了主要的check-points(檢查點(diǎn))。 [/p]
[p][br]什么是asp[/p]
[p]active server page,簡稱asp,是:[/p]
[p]l連接網(wǎng)友界面(html)和商業(yè)邏輯(business logic);[/p]
[p]l提供一致的、容易使用的、有狀態(tài)保持的、基于web的客戶端;[/p]
[p]l為那些需要事務(wù)處理的web 應(yīng)用提供應(yīng)用程序環(huán)境。[/p]
[p]asp不是:[/p]
[p]l 實(shí)現(xiàn)商業(yè)邏輯(business logic)的地方;商業(yè)邏輯應(yīng)該通過com+、mts或者數(shù)據(jù)庫來實(shí)現(xiàn)。[/p]
[p]asp的使用者應(yīng)該有下面的教訓(xùn):[/p]
[p]l 開發(fā)應(yīng)用程序,而不是開發(fā)一個(gè)一個(gè)的孤立asp頁面;[/p]
[p]l 對輸入和輸出進(jìn)行緩存;[/p]
[p]l 在發(fā)布之前要測試;[/p]
[p]l 選擇性能較好的部件;[/p]
[p]l 減少數(shù)據(jù)庫的存取:緩存變換后的結(jié)果;[/p]
[p]l 使用msmq來處理有時(shí)間延遲的工作;[/p]
[p]站點(diǎn)設(shè)計(jì)[br]u 你的站點(diǎn)想提供什么?[/p]
[p]u 信息架構(gòu):80/20準(zhǔn)則;[/p]
[p]u 站點(diǎn)導(dǎo)航;[/p]
[p]u 頁面布局;[/p]
[p]u 可用性;[/p]
[p]n 使用alt和title屬性;[/p]
[p]n 不使用圖片或者image map的導(dǎo)航;[/p]
[p]u 適合大多數(shù)低版本瀏覽器,考慮他們對activex、rds、xml、dhtml、java applet的支持狀況;[/p]
[p]u 屏幕分辨率和屏幕顏色數(shù)[/p]
[p]n 是否支持webtv、pda…?[/p]
[p]n 設(shè)置img的width和height屬性。[/p]
[p]u 非瀏覽器的訪問,如自動機(jī)器人(spider);[/p]
[p]u 使用幀(frame)?[/p]
[p]u 使用cookies的個(gè)性化;[/p]
[p]u 避免壞連接;[/p]
[p]u 使用meta標(biāo)簽;[/p]
[p]u 內(nèi)容審核;[/p]
[p]u 內(nèi)容檢索;[/p]
[p]u 結(jié)果反饋:用戶反饋和跟蹤;[/p]
[p]u 減少下載時(shí)間;[/p]
[p]三層、四層應(yīng)用設(shè)計(jì)[/p]
[p][br]可讀性、可維護(hù)性[br]u 使用注釋;[/p]
[p]u 在vbscript腳本中使用<%option explicit%>;[/p]
[p]u 使用字符串變量存儲sql字符串:便于調(diào)試;[/p]
[p]u 使用server.mappath和相對路徑;[/p]
[p]u 使用adodb.inc或者來引用常量,不要直接使用常量數(shù)值。[/p]
[p]u 指定ado調(diào)用的缺省參數(shù),避免出錯(cuò);[/p]
[p]u 使用庫或者部件來封裝代碼。[/p]
[p][br]正確的方法:[/p]
[p]u 使用server.urlencode[/p]
[p]u 錯(cuò)誤捕獲和處理[/p]
[p]國際化:[/p]
[p]u 使用<%codepage%>[/p]
[p]u 使用session.codepage[/p]
[p]u 在iis5.0中,response.write支持utf8[/p]
[p]其他:[/p]
[p]u 使用#include 重用代碼[/p]
[p]u 使用分頁技術(shù)[/p]
[p]站點(diǎn)安全:[/p]
[p]u 客戶身份驗(yàn)證[/p]
[p]u 輸入驗(yàn)證[/p]
[p]u #include 文件不要使用.inc后綴,使用.asp或者設(shè)置.inc的應(yīng)用程序映射[/p]
[p]u 把mdb文件存放在非web路徑下;[/p]
[p]u 使用adsi做安全管理[/p]
[p][br]session和application狀態(tài)[br]session的使用:[/p]
[p]u 使用起來很方便但是很有問題;[/p]
[p]u http是一個(gè)無狀態(tài)的協(xié)議;[/p]
[p]u 設(shè)計(jì)購物推車特別有用;[/p]
[p]u 不利于可伸縮性設(shè)計(jì)(scalability);[/p]
[p]u 在不需要session的頁面中使用<%enablesessionstate=false%>[/p]
[p]u 盡可能完全避免使用session;[/p]
[p]u 在多個(gè)web服務(wù)器情況下不適合;[/p]
[p]u 某些部件使session運(yùn)行在單一線程模式,減少了吞吐量;[/p]
[p]u 消耗內(nèi)存;[/p]
[p]u session有超時(shí)的問題[/p]
[p]u 需要客戶端的瀏覽器打開cookie設(shè)置;[/p]
[p]u 不要在session中保存recordset,或者緩存connection對象;[/p]
[p]u 在global.asa不要使用空的session_onend;[/p]
[p]u 可選方案:[/p]
[p]n cookies[/p]
[p]u 直接狀態(tài)編碼:簡單、容易、不安全[/p]
[p]u 后端數(shù)據(jù)庫的id作為狀態(tài)值[/p]
[p]n querystring 參數(shù)[/p]
[p]n 如amazon的url方式[/p]
[p]n 隱藏的表單[/p]
[p]application變量:[/p]
[p]u 共享變量[/p]
[p]u 不能持久保存[/p]
[p]u 多個(gè)web服務(wù)器時(shí)不行,除非只是只讀變量。[/p]
[p]緩存[br]u 對靜態(tài)內(nèi)容非常理想[/p]
[p]u 不要使用response.expires=0,使用負(fù)數(shù):[/p]
[p]n response.expires=-10000;[/p]
[p]n response.addheader “pragma”,”no-cache”[/p]
[p]uresponse.addheader “cache-control”,”no-store”[/p]
[p]u 服務(wù)器緩存[/p]
[p]u proxy緩存[/p]
[p]u 客戶端緩存[/p]
[p]部件[br]u 性能[/p]
[p]u 伸縮性[/p]
[p]u 分離商務(wù)邏輯和頁面表現(xiàn)[/p]
[p]u 被asp或其他環(huán)境重用[/p]
[p]u 事務(wù)處理[/p]
[p]u 類型安全[/p]
[p]u 存取操作系統(tǒng)特性[/p]
[p]u 保護(hù)知識產(chǎn)權(quán)[/p]
[p]u 在下列情況下使用server.createobject:[/p]
[p]n mts事務(wù)處理[/p]
[p]n 上下文安全性[/p]
[p]n asp內(nèi)部部件[/p]
[p]n onstartpage、onendpage[/p]
[p]u 使用延遲對象初始化[/p]
[p]u 是否保存到session或者application變量中[/p]
[p]u [/p]
[p][br]性能[br]n response緩沖:response.buffer=true[/p]
[p]n 關(guān)閉connection并:set connection=nothing[/p]
[p]n 使用局部變量[/p]
[p]n 用代替server.createobject[/p]
[p]n 不要使用session和application變量[/p]
[p]n 不要將com對象存儲在session或者application變量中[/p]
[p]n 關(guān)閉腳本調(diào)試[/p]
[p]n 避免重復(fù)的字符串相加[/p]
[p]n 在費(fèi)時(shí)的頁面頂端使用response.isclientconnected[/p]
[p]n 使用msmq[/p]
[p]n 不要在session或者application中存儲大數(shù)組[/p]
[p]n 不要redim 數(shù)組[/p]
[p]n 將集合類型的對象賦給臨時(shí)變量[/p]
[p]n 減小微處理器的最大線程數(shù)(運(yùn)行regedt32,在hkey_local_machinesystem currentcontrolsetservicesw3svcaspparameters,增加processorthreadmax,減小這個(gè)值,看看性能的變化;或者增大這個(gè)值。)[/p]
[p]n 設(shè)置aspscriptenginecachemax,使它等于processorthreadmax*cpu個(gè)數(shù)。缺省的是30;(在系統(tǒng)路徑下:system32inetsrv/adminisamples下,鍵入adsutil.vbs,設(shè)置/w3svc/aspscriptenginecachemax);[/p]
[p]n 減少session.timeout;[/p]
[p]n 在mmc中,設(shè)置asp應(yīng)用程序緩沖為有效。[/p]
[p][br]把某些工作交給客戶端:[/p]
[p]n css、dhtml[/p]
[p]n xml[/p]
[p]n rds[/p]
[p]n remote scripting[/p]
[p]n xmlhttp[/p]
[p]n 客戶端驗(yàn)證[/p]
[p]n 減小文件大小[/p]
[p]n 盡可能避免https和ssl[/p]
[p]n 使用response.end測試性能[/p]
[p]n [/p]
[p]數(shù)據(jù)庫[br]n 減少數(shù)據(jù)庫存取訪問;[/p]
[p]n 緩存變換后的結(jié)果;[/p]
[p]n 使用odbc連接池和oledb資源池;[/p]
[p]n 使用系統(tǒng)dsn或者非dsn,不要使用dsn或者文件dsn;[/p]
[p]n 使ado運(yùn)行在雙線程模式(both-threaded):makefre.bat;[/p]
[p]n 使用ado的field對象;[/p]
[p]n getstring或者getrows比較快;[/p]
[p]n rds和xml把負(fù)載嫁到客戶端;[/p]
[p]n 不要使用select *,把字段寫出來;[/p]
[p]n 盡量使用sql server 7,不要使用access;[/p]
[p]n 使用sql server的特性:存儲過程、job、join、sort、group[/p]
[p]n 使用sql analysis,優(yōu)化sql的性能[/p]
[p]n 使用索引[/p]
[p]n 本地使用name-pipes,遠(yuǎn)程使用sockets[/p]
[p]n 準(zhǔn)確地指定command type[/p]
[p]iis 5的新特性[br]n 可靠的重新啟動[/p]
[p]n asp性能提高[/p]
[p]n server.transfer比server.redirect更好[/p]
[p]n server.execute[/p]
[p]n server.getlasterror [/p]

該文章在 2010/7/8 0:32:32 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
在线播放亚洲最大日韩 | 亚洲精品国产AⅤ综合第一 在线丰满视频网址 | 伊人久久大香线蕉AV五月天宝贝 | 精品国产美女福到在线不卡 | 亚洲欧美日韩国产另类丝瓜 | 亚洲免费中文字幕 |