時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
??? 自1996年微軟推出ASP1.0以來(lái),ASP+IIS的組合在與CGI+PHP+Apache的網(wǎng)絡(luò)大戰(zhàn)中,并沒有取得"微軟式"的優(yōu)勢(shì),反而因?yàn)榘踩?,?zhí)行效率,程序語(yǔ)法和跨平臺(tái)等問(wèn)題屢受指責(zé)和批評(píng)。
隨著微軟近期宣布.NET戰(zhàn)略,ASP也即將升級(jí)到"下一個(gè)版本",稱之為ASP+。請(qǐng)注意這一引號(hào),因?yàn)锳SP+并不是目前ASP3.0版本的自然過(guò)渡,而是提供了一種全新的服務(wù)器端Web腳本編程,編寫ASP+頁(yè)面與生成ASP頁(yè)面有著根本上的不同!首先ASP+是一種編譯型腳本語(yǔ)言,其次,幾乎可以用任何語(yǔ)言編寫ASP+程序由于有了眾多重大的進(jìn)步,盡管目前ASP+還沒有進(jìn)行公開Beta測(cè)試,卻已經(jīng)引起了全世界許多ASP用戶的關(guān)注和躍躍欲試!希望以下介紹,可以幫助大家略窺ASP+技術(shù)的掠影。
1、ASP+的運(yùn)行平臺(tái)與編程語(yǔ)言
目前有支持個(gè)人用戶級(jí)的ASP+,將運(yùn)行在Win9x上,包括Windows 98和Windows ME。盡管這不是一個(gè)Web服務(wù)器環(huán)境,但將構(gòu)成一個(gè)本地開發(fā)平臺(tái),在其上可以構(gòu)筑適合本地運(yùn)行的Web應(yīng)用。
不過(guò),盡管可以在Win9x上使用ASP+技術(shù),但推薦升級(jí)到Win2x。
在Win2k專業(yè)版上ASP+可高效運(yùn)行,且無(wú)需服務(wù)器,比Win9x版本更加強(qiáng)勁,并支持所有版本和全部功能。
ASP+可以運(yùn)行在IIS5或者IIS4上。并且實(shí)現(xiàn)與你現(xiàn)有ASP系統(tǒng)并行運(yùn)作,所以現(xiàn)有的ASP應(yīng)用完全可以照常運(yùn)行。
你可以用Visual Studio 6來(lái)編寫ASP+應(yīng)用,當(dāng)然也可以使用文本編輯器如notepad。也可以使用Visual Studio 7,而VS7帶有針對(duì)ASP+的所見即所得的VB, C#(微軟最新的綜合了java和c++的最新編程語(yǔ)言,另文介紹)和C++的設(shè)計(jì)器和調(diào)試器。
ASP+雖然默認(rèn)使用VB編程,但你可以設(shè)定其他編程語(yǔ)言??梢哉f(shuō),ASP+允許你用任何你喜歡的語(yǔ)言來(lái)進(jìn)行頁(yè)面、應(yīng)用和組件編程!
目前支持ASP+編程的有VB、C#和Jscript。今后幾個(gè)月內(nèi)將有多達(dá)19種語(yǔ)言宣布支持ASP+。這些語(yǔ)言包括:Cobol,Perl,Python,Eiffel,SmallTalk,Lisp,Scheme,Objective Camel等。
從開發(fā)的角度來(lái)看,選擇一種最適于你的語(yǔ)言,并最終達(dá)到精通的地步是非常有意義的??上驳氖牵珹SP+提供了統(tǒng)一的運(yùn)行和調(diào)試環(huán)境,你可以在其中引用任何符合.NET架構(gòu)的API,如EventLogs,PerfCounters,DataAccess等。只要你感到得心應(yīng)手,效率提高即可。
2、ASP+的新特性與功能a) ASP+全新的session會(huì)話管理機(jī)制
ASP+并不依賴SQL Server或者LDAP來(lái)進(jìn)行session管理。并提供兩個(gè)新特性:
i)非Cookie型session:相對(duì)于客戶端記錄SessionID的Cookie,我們將Sessionidz轉(zhuǎn)移并封裝到了URL中,這樣即使瀏覽器關(guān)閉了cookie支持,仍然可以使用session管理。這一過(guò)程是自動(dòng)進(jìn)行的,無(wú)需改動(dòng)程序編碼,而且對(duì)靜態(tài)和動(dòng)態(tài)內(nèi)容都有效,你可以關(guān)閉與一靜態(tài)html頁(yè)面,或者動(dòng)態(tài)頁(yè)面的鏈接,而session仍將保持有效。
ii)外部session狀態(tài)支持:可以將session的值保存到外部的狀態(tài)存儲(chǔ)單元內(nèi),而不涉及ASP+現(xiàn)有的工作進(jìn)程。這樣設(shè)計(jì)使得session狀態(tài)可以跨不同的工作進(jìn)程甚至多臺(tái)機(jī)器,從而提供更好的可靠性和內(nèi)在的web群集支持。
ASP+的狀態(tài)存儲(chǔ)是一專用的NT服務(wù),其承載ASP+的編碼,同時(shí)支持將session數(shù)據(jù)直接存儲(chǔ)到SQL Server。后一選擇具有更好的擴(kuò)展性,但要求你購(gòu)買SQL Server。
值得注意的是,以上兩種狀態(tài)選項(xiàng)是完全不相互交叉干涉的。二者可以同時(shí)使用,也可以單獨(dú)使用。而且,外部狀態(tài)存儲(chǔ)是插件型設(shè)計(jì),這意味著第三方可以自行設(shè)計(jì)支持該存儲(chǔ)模型的插件。
b)編譯器、緩存機(jī)制和新的ADO+
ASP+的頁(yè)面可以使用符合NGWS(微軟新一代視窗結(jié)構(gòu))規(guī)范的編譯器進(jìn)行編譯,這包括Visual Studio全線產(chǎn)品的編譯器,如VB,VC++,Java和C#,也包括其他符合這一規(guī)范的編譯器,如符合NGWS運(yùn)行模式的Perl編譯器。
編譯后的ASP+提供了數(shù)據(jù)緩存模式。由于影響Web性能的最大延遲和瓶頸來(lái)自數(shù)據(jù)存取,采用這一機(jī)制,可以決定何時(shí)緩存ASP頁(yè)面上的數(shù)據(jù),以及何時(shí)清除緩存并重新執(zhí)行數(shù)據(jù)查詢。
在ASP+中提供了ADO+,比ADO更容易使用。ADO+將數(shù)據(jù)視為n維對(duì)象,而在ADO中,數(shù)據(jù)表述是僅2維的行與列,因而ADO+處理數(shù)據(jù)更加靈活高效。
在執(zhí)行效率方面,ASP+的速度有大幅度提高。ASP+采用基于線程庫(kù)的新的多線程存取機(jī)制,可以進(jìn)行異步讀/寫操作,取代了未完成線程的再利用,避免了獲取或更新狀態(tài)時(shí)可能造成的的工作進(jìn)程阻鎖,從而顯著提高了系統(tǒng)吞吐,這是以前的ASP所無(wú)法達(dá)到的,因?yàn)锳SP僅采用單線程存取線程庫(kù),無(wú)法進(jìn)行異步操作。
3、ASP+與ASP的兼容性和移植工具
微軟提供ASP到ASP+的應(yīng)用移植軟件包。當(dāng)某些應(yīng)用需要改動(dòng)來(lái)適應(yīng)于ASP+時(shí),可用來(lái)區(qū)分或者升級(jí)程序代碼。幸運(yùn)的是ASP+可與現(xiàn)有的ASP并行不悖,因此你可以逐步將現(xiàn)有的ASP應(yīng)用轉(zhuǎn)移到ASP+上來(lái),加上移植工具包,升級(jí)過(guò)程輕而易舉。
ASP+正在進(jìn)行小范圍beta測(cè)試,公開beta測(cè)試的下載正在制作之中,大約9月初進(jìn)行軟件發(fā)放。在剛剛舉行的專業(yè)開發(fā)者大會(huì)上,微軟向7000人散發(fā)了beta代碼,由此導(dǎo)致了全世界范圍的關(guān)注和討論。
隨著Web的日益流行和普及,Web服務(wù)器端程序設(shè)計(jì)技術(shù)解決方案也層出不窮,競(jìng)爭(zhēng)也日益激烈。單純的腳本語(yǔ)言因其語(yǔ)法粗略,解釋執(zhí)行等先天不足而受到挑戰(zhàn)。面向?qū)ο?,與服務(wù)器集成,編譯型的技術(shù)方案將成為趨勢(shì)。
關(guān)鍵詞標(biāo)簽:ASP
相關(guān)閱讀
熱門文章 ASP編程代碼:隱藏圖片的真實(shí)地址 ASP教程:0177:800401f3錯(cuò)誤解決 ASP代碼中如何屏蔽ip地址 禁止某IP段訪問(wèn)網(wǎng)站 錯(cuò)誤80004005信息處理方法
人氣排行 ASP下標(biāo)越界的解決方法 ASP代碼中如何屏蔽ip地址 禁止某IP段訪問(wèn)網(wǎng)站 “文件共享鎖定數(shù)溢出” 原因及解決方法 無(wú)法寫入數(shù)據(jù)庫(kù)的解決方法 ASP教程:0177:800401f3錯(cuò)誤解決 ASP常用函數(shù)列表 如何用ASP來(lái)獲取客戶端真實(shí)IP的地址 ASP用FSO生成HTML簡(jiǎn)單實(shí)例+詳解[原創(chuàng)]