突破性的ASP+技術

來源:互聯網
上載者:User
asp+   自1996年微軟推出ASP1.0以來,ASP+IIS的組合在與CGI+PHP+Apache的網路大戰中,並沒有取得“微軟式”的優勢,反而因
為安全性,執行效率,程式文法和跨平台等問題屢受指責和批評。

  隨著微軟近期宣布.NET戰略,ASP也即將升級到“下一個版本”,稱之為ASP+。請注意這一引號,因為ASP+並不是目前ASP3.0
版本的自然過渡,而是提供了一種全新的伺服器端Web指令碼編程,編寫ASP+頁面與產生ASP頁面有著根本上的不同!首先ASP+是一種
編譯型指令碼語言,其次,幾乎可以用任何語言編寫ASP+程式由於有了眾多重大的進步,儘管目前ASP+還沒有進行公開Beta測試,卻
已經引起了全世界許多ASP使用者的關注和躍躍欲試!希望以下介紹,可以協助大家略窺ASP+技術的掠影。

  1、ASP+的運行平台與程式設計語言

  目前有支援個人使用者級的ASP+,將運行在Win9x上,包括Windows 98和Windows ME。儘管這不是一個Web伺服器環境,但將構
成一個本地開發平台,在其上可以構築適合本地啟動並執行Web應用。

  不過,儘管可以在Win9x上使用ASP+技術,但推薦升級到Win2x。

  在Win2k專業版上ASP+可高效運行,且無需伺服器,比Win9x版本更加強勁,並支援所有版本和全部功能。

  ASP+可以運行在IIS5或者IIS4上。並且實現與你現有ASP系統並行運作,所以現有的ASP應用完全可以照常運行。

  你可以用Visual Studio 6來編寫ASP+應用,當然也可以使用文字編輯器如notepad。也可以使用Visual Studio 7,而VS7帶
有針對ASP+的所見即所得 (WYSIWYG)的VB, C#(微軟最新的綜合了java和c++的最新程式設計語言,另文介紹)和C++的設計器和調試器。

  ASP+雖然預設使用VB編程,但你可以設定其他程式設計語言。可以說,ASP+允許你用任何你喜歡的語言來進行頁面、應用和組件編
程!

  目前支援ASP+編程的有VB、C#和JScript。今後幾個月內將有多達19種語言宣布支援ASP+。這些語言套件括:Cobol,Perl,
Python,Eiffel,SmallTalk,Lisp,Scheme,Objective Camel等。

  從開發的角度來看,選擇一種最適於你的語言,並最終達到精通的地步是非常有意義的。可喜的是,ASP+提供了統一的運行和
調試環境,你可以在其中引用任何符合.NET架構的API,如EventLogs,PerfCounters,DataAccess等。只要你感到得心應手,效
率提高即可。

  2、ASP+的新特性與功能a) ASP+全新的session會話管理機制

  ASP+並不依賴SQL Server或者LDAP來進行session管理。並提供兩個新特性:

  i)非Cookie型session:相對於用戶端記錄SessionID的Cookie,我們將Sessionidz轉移並封裝到了URL中,這樣即使瀏覽器
關閉了cookie支援,仍然可以使用session管理。這一過程是自動進行的,無需改動程式編碼,而且對靜態和動態內容都有效,你
可以關閉與一靜態html頁面,或者動態網頁面的連結,而session仍將保持有效。

  ii)外部session狀態支援:可以將session的值儲存到外部的狀態儲存單元內,而不涉及ASP+現有的背景工作處理序。這樣設計使得
session狀態可以跨不同的背景工作處理序甚至多台機器,從而提供更好的可靠性和內在的web群集支援。

  ASP+的狀態儲存是一專用的NT服務,其承載ASP+的編碼,同時支援將session資料直接儲存到SQL Server。後一選擇具有更好
的擴充性,但要求你購買SQL Server。

  值得注意的是,以上兩種狀態選項是完全不相互交叉幹涉的。二者可以同時使用,也可以單獨使用。而且,外部狀態儲存是插
件型設計,這意味著第三方可以自行設計支援該儲存模型的外掛程式。

  b)編譯器、緩衝機制和新的ADO+

  ASP+的頁面可以使用符合NGWS(微軟新一代視窗結構)規範的編譯器進行編譯,這包括Visual Studio全線產品的編譯器,如
VB,VC++,Java和C#,也包括其他符合這一規範的編譯器,如符合NGWS運行模式的Perl編譯器。

  編譯後的ASP+提供了資料緩衝模式。由於影響Web效能的最大延遲和瓶頸來自資料存取,採用這一機制,可以決定何時緩衝ASP
頁面上的資料,以及何時清除緩衝並重新執行資料查詢。

  在ASP+中提供了ADO+,比ADO更容易使用。ADO+將資料視為n維對象,而在ADO中,資料表述是僅2維的行與列,因而ADO+處理
資料更加靈活高效。

  在執行效率方面,ASP+的速度有大幅度提高。ASP+採用基於線程庫的新的多線程存取機制,可以進行非同步讀/寫操作,取代了
未完成線程的再利用,避免了擷取或更新狀態時可能造成的的背景工作處理序阻鎖,從而顯著提高了系統吞吐,這是以前的ASP所無法達到
的,因為ASP僅採用單線程存取線程庫,無法進行非同步作業。

  3、ASP+與ASP的相容性和移植工具

  微軟提供ASP到ASP+的應用移植軟體包。當某些應用需要改動來適應於ASP+時,可用來區分或者升級程式碼。幸運的是ASP+
可與現有的ASP並行不悖,因此你可以逐步將現有的ASP應用轉移到ASP+上來,加上移植工具包,升級過程輕而易舉。

  ASP+進行中小範圍beta測試,公開beta測試的下載正在製作之中,大約9月初進行軟體發放。在剛剛舉行的專業開發人員大會
上,微軟向7000人散發了beta代碼,由此導致了全世界範圍的關注和討論。

  隨著Web的日益流行和普及,Web伺服器端程式設計技術解決方案也層出不窮,競爭也日益激烈。單純的指令碼語言因其文法粗
略,解釋執行等先天不足而受到挑戰。物件導向,與伺服器整合,編譯型的技術方案將成為趨勢。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.