• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何寫出優秀的ASP應用文章

    發表于:2007-09-07來源:作者:點擊數: 標簽:
    什么是ASP Active Server Page,簡稱ASP,是: l連接網友界面(HTML)和商業邏輯(Business Logic); l提供一致的、容易使用的、有狀態保持的、基于WEB的客戶端; l為那些需要事務處理的WEB 應用提供應用程序環境。 ASP不是: l 實現商業邏輯(Business Logic)的
    什么是ASP

    Active Server Page,簡稱ASP,是:

    l連接網友界面(HTML)和商業邏輯(Business Logic);

    l提供一致的、容易使用的、有狀態保持的、基于WEB的客戶端;

    l為那些需要事務處理的WEB 應用提供應用程序環境。

    ASP不是:

    l 實現商業邏輯(Business Logic)的地方;商業邏輯應該通過COM+、MTS或者數據庫來實現。

    ASP的使用者應該有下面的教訓:

    l 開發應用程序,而不是開發一個一個的孤立ASP頁面;

    l 對輸入和輸出進行緩存;

    l 在發布之前要測試;

    l 選擇性能較好的部件;

    l 減少數據庫的存?。壕彺孀儞Q后的結果;

    l 使用MSMQ來處理有時間延遲的工作;

    站點設計
    u 你的站點想提供什么?

    u 信息架構:80/20準則;

    u 站點導航;

    u 頁面布局;

    u 可用性;

    n 使用ALT和Title屬性;

    n 不使用圖片或者Image Map的導航;

    u 適合大多數低版本瀏覽器,考慮他們對ActiveX、RDS、XML、DHTML、Java Applet的支持狀況;

    u 屏幕分辨率和屏幕顏色數

    n 是否支持WebTV、PDA…?

    n 設置IMG的width和height屬性。

    u 非瀏覽器的訪問,如自動機器人(Spider);

    u 使用幀(Frame)?

    u 使用Cookies的個性化;

    u 避免壞連接;

    u 使用meta標簽;

    u 內容審核;

    u 內容檢索;

    u 結果反饋:用戶反饋和跟蹤;

    u 減少下載時間;

    三層、四層應用設計



    可讀性、可維護性
    u 使用注釋;

    u 在VBScript腳本中使用<%Option Explicit%>;

    u 使用字符串變量存儲SQL字符串:便于調試;

    u 使用Server.MapPath和相對路徑;

    u 使用ADODB.INC或者<!—metadata typelib=somelib file=somedll-->來引用常量,不要直接使用常量數值。

    u 指定ADO調用的缺省參數,避免出錯;

    u 使用庫或者部件來封裝代碼。



    正確的方法:

    u 使用Server.URLEncode

    u 錯誤捕獲和處理

    國際化:

    u 使用<%CodePage%>

    u 使用Session.CodePage

    u 在IIS5.0中,Response.write支持UTF8

    其他:

    u 使用#include 重用代碼

    u 使用分頁技術

    站點安全

    u 客戶身份驗證

    u 輸入驗證

    u #include 文件不要使用.INC后綴,使用.ASP或者設置.INC的應用程序映射

    u 把MDB文件存放在非WEB路徑下;

    u 使用ADSI做安全管理



    Session和Application狀態
    Session的使用:

    u 使用起來很方便但是很有問題;

    u HTTP是一個無狀態的協議;

    u 設計購物推車特別有用;

    u 不利于可伸縮性設計(Scalability);

    u 在不需要Session的頁面中使用<%EnableSessionState=false%>

    u 盡可能完全避免使用Session;

    u 在多個web服務器情況下不適合;

    u 某些部件使Session運行在單一線程模式,減少了吞吐量;

    u 消耗內存;

    u Session有超時的問題

    u 需要客戶端的瀏覽器打開cookie設置;

    u 不要在session中保存recordset,或者緩存connection對象;

    u 在global.asa不要使用空的Session_OnEnd;

    u 可選方案:

    n cookies

    u 直接狀態編碼:簡單、容易、不安全

    u 后端數據庫的ID作為狀態值

    n querystring 參數

    n 如amazon的url方式

    n 隱藏的表單

    Application變量:

    u 共享變量

    u 不能持久保存

    u 多個web服務器時不行,除非只是只讀變量。

    緩存
    u 對靜態內容非常理想

    u 不要使用Response.Expires=0,使用負數:

    n Response.Expires=-10000;

    n Response.AddHeader “Pragma”,”no-cache”

    uResponse.AddHeader “cache-control”,”no-store”

    u 服務器緩存

    u proxy緩存

    u 客戶端緩存

    部件
    u 性能

    u 伸縮性

    u 分離商務邏輯和頁面表現

    u 被ASP或其他環境重用

    u 事務處理

    u 類型安全

    u 存取操作系統特性

    u 保護知識產權

    u 在下列情況下使用Server.CreateObject:

    n MTS事務處理

    n 上下文安全性

    n ASP內部部件

    n OnStartPage、OnEndPage

    u 使用延遲對象初始化

    u 是否保存到Session或者Application變量中

    u



    性能
    n Response緩沖:Response.Buffer=True

    n 關閉Connection并:set Connection=Nothing

    n 使用局部變量

    n 用代替Server.CreateObject

    n 不要使用Session和Application變量

    n 不要將COM對象存儲在Session或者Application變量中

    n 關閉腳本調試

    n 避免重復的字符串相加

    n 在費時的頁面頂端使用Response.IsClientConnected

    n 使用MSMQ

    n 不要在Session或者Application中存儲大數組

    n 不要ReDim 數組

    n 將集合類型的對象賦給臨時變量

    n 減小微處理器的最大線程數(運行regedt32,在HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\w3SVC\ASP\Parameters,增加ProcessorThreadMax,減小這個值,看看性能的變化;或者增大這個值。)

    n 設置AspScriptEngineCacheMax,使它等于ProcessorThreadMax*CPU個數。缺省的是30;(在系統路徑下:\system32\inetsrv/adminisamples下,鍵入adsutil.vbs,設置/w3svc/AspScriptEngineCacheMax);

    n 減少Session.Timeout;

    n 在MMC中,設置ASP應用程序緩沖為有效。



    把某些工作交給客戶端:

    n CSS、DHTML

    n XML

    n RDS

    n Remote Scripting

    n Xmlhttp

    n 客戶端驗證

    n 減小文件大小

    n 盡可能避免https和SSL

    n 使用Response.End測試性能

    n

    數據庫
    n 減少數據庫存取訪問;

    n 緩存變換后的結果;

    n 使用ODBC連接池和OLEDB資源池;

    n 使用系統DSN或者非DSN,不要使用DSN或者文件DSN;

    n 使ADO運行在雙線程模式(Both-threaded):makefre.bat;

    n 使用ADO的Field對象;

    n GetString或者GetRows比較快;

    n RDS和XML把負載嫁到客戶端;

    n 不要使用Select *,把字段寫出來;

    n 盡量使用SQL Server 7,不要使用Aclearcase/" target="_blank" >ccess;

    n 使用SQL Server的特性:存儲過程、Job、Join、sort、group

    n 使用SQL Analysis,優化SQL的性能

    n 使用索引

    n 本地使用Name-pipes,遠程使用Sockets

    n 準確地指定Command Type

    IIS 5的新特性
    n 可靠的重新啟動

    n ASP性能提高

    n Server.Transfer比Server.Redirect更好

    n Server.Execute

    n Server.GetLastError

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>