在過去,我曾在《VS 2008 JavaScript Intellisense》 和《 VS 2008 JavaScript debugging》 中討論過JavaScript和AJAX的改進。以下是作為VS 2008和.NET 3.5一部分發布的一些ASP.NET AJAX運行時特性的幾個備註,以及你在VS 2008中打開現有ASP.NET AJAX 1.0專案時需要知道的幾個重要事項。
包含在.NET 3.5中的ASP.NET AJAX
ASP.NET AJAX 1.0是以可以在ASP.NET 2.0之上安裝的單獨一個下載的形式發布的。從.NET框架3.5開始,所有這些特性都成為ASP.NET所固有的,這意味著在建置或部署應用程式時,你不再需要下載和安裝單獨的ASP.NET AJAX安裝檔。
當你在VS 2008 中建立針對.NET框架3.5的新ASP.NET應用程式或網站專案時,VS會自動在你的web.config 檔案中新增適當的AJAX註冊設置,而且核心ASP.NET AJAX 伺服器控制項會出現在你的工具箱裡。
隨.NET 3.5發布的ASP.NET AJAX 版本有不少很好的改進- 包括對可與WebPart一起使用的UpdatePanel的支持,對基於WCF的JSON結點的支持,對在JavaScript中使用ASP.NET用戶數據,角色和登入應用服務的支持,以及N個缺陷修補和效能改進。
理解ASP.NET AJAX的版本
ASP.NET AJAX 1.0和.NET 3.5兩者可以在同台機器上並行安裝。 ASP.NET AJAX 1.0是在System.Web.Extensions.dll 的V1.0程式集中實現的,而包含在.NET 3.5中的ASP.NET AJAX實作存在於System.Web.Extensions.dll 的V3.5程序集中。 System.Web.Extensions.dll 的V3.5版本是完全相容於1.0版本的擴充集(這表示你不要改動任何程式碼就可以使用它)。
機器上的每個ASP.NET應用程式都可以選擇使用任何一個ASP.NET AJAX 版本來建置和運作。這是透過在web.config檔中部分節點,以及應用編譯時所引用的System.Web.Extensions.dll組件版本來設定的(在網站專案中,這些引用是註冊在web.config檔中的部分的,而web應用項目則是透過項目文件來指定這些引用的)。
你將能使用VS 2008來開發針對ASP.NET AJAX 3.5的應用,以及使用新的VS 2008多定向支援來建立使用ASP.NET AJAX 1.0的ASP.NET 2.0應用。在下面的部分,我將討論怎麼做。
重要的Beta 2資訊
在我們在web上發布Beta2前幾天,我們發現了一個並行安裝ASP.NET AJAX的問題。如果你讀過我原先的《VS 2008和.NET 3.5 Beta 2發布了》的博客貼子的話,你會記得下面這個我特別指出的來修正這一問題的安裝後補丁步驟:
你應該下載和運行這個批文件。這只要幾秒鐘就可以運行完,它修補了這個星期早些時候我們發現的System.Web.Extensions.dll版本政策的問題,該組件包含了ASP.NET AJAX。如果你不執行這個批次文件,那麼用ASP.NET AJAX 1.0 和VS 2005建置的現有的ASP.NET 2.0專案就會自動地運載隨.NET 3.5 Beta2發布的新ASP.NET AJAX 版本。這會運作而且運作良好,但會不小心導致你的VS2005應用程式依賴.NET 3.5。執行這個批次檔會改變新的System.Web.Extensions.dll 組件的版本綁定政策,確保你只在你明確建置.NET 3.5專案時才使用新的.NET 3.5 ASP.NET AJAX版本。
好消息是,這會修正我們發現的平行安裝問題,讓我們可以安全地在同一台機器上使用VS 2005和VS 2008同時開發ASP.NET AJAX應用程式。
但有一個問題是,在VS 2008中第一次開啟舊的ASP.NET 2.0專案時,它會導致VS 2008不正確地偵測出所用ASP.NET AJAX的版本,特別地,它會導致VS 2008認為目前專案已經使用了.NET 3.5。這要求你在VS 2008 Beta2中第一次開啟現有的ASP.NET AJAX 1.0網站專案時,採取額外的步驟來修正這個問題。在VS 2008的最終版本中, 你將不需要採取這些步驟。
把ASP.NET AJAX 1.0應用程式升級到使用ASP.NET AJAX 3.5
當你使用VS 2008 開啟使用了ASP.NET AJAX 1.0的現有ASP.NET 2.0 應用時,你可以選擇將應用程式升級到使用.NET 3.5(以及包含在其中的ASP.NET AJAX 版本)。
VS Web工具組最近發表了《Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5》的部落格貼子,其中描述瞭如何使用VS 2008 Beta2來實現升級的逐步指令。好消息是,把ASP.NET AJAX 1.0應用程式更新到.NET 3.5時,不要求你改動任何程式碼,只要花幾分鐘就可以完成。
作為升級ASP.NET AJAX 1.0應用到.NET 3.5的一部分,你要更新你也許在用的編譯過的ASP.NET AJAX控制項庫。 ASP.NET AJAX 1.0和.NET 3.5 版本,你可以在這裡下載:
《Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5 》部落格貼文討論如何將AJAX 控制項工具包的ASP.NET AJAX 3.5版本加到VS 2008工具箱裡。
使用VS 2008 建立ASP.NET AJAX 1.0應用(使用多定向)
當你使用VS 2008開啟使用了ASP.NET AJAX 1.0的現有ASP.NET 2.0 應用時,你也可以選擇不升級到.NET 3.5,而是使用VS 2008中新的多定向特性來建構使用了ASP.NET 2.0 和ASP.NET AJAX 1.0的應用。
VS Web工具組最近發表了《Using VS 2008 to Target ASP.NET AJAX 1.0》的部落格貼子,其中描述瞭如何使用VS 2008 Beta2來實現這個開發的逐步指令。
在這個部落格貼文裡,還包含了幾個你要在Beta2中採取的手工步驟,來把ASP.NET AJAX 1.0和ASP.NET AJAX控制項工具包伺服器控制項填入VS 2008工具箱。在VS 2008的最終版本中,我們會發布一個安裝套件來自動化這個過程,並在VS 2008中加入可為你所使用的ASP.NET AJAX 1.0專案和檔案模板。
你也許在想,為什麼要用VS 2008來針對ASP.NET AJAX 1.0應用,而不就用VS 2005呢? 好處是,它允許你建立能在你現有的伺服器上工作的ASP.NET AJAX 1.0應用(不必馬上把它們升級到.NET 3.5),同時,還允許你利用VS 2008 IDE的一些新特性,象JavaScript Intellisense, JavaScript Debugging,更棒的所見即所得的HTML設計器,CSS管理,改進的程式碼編譯器,VS Professional中的單元測試,TFS中的連續整合支持,等等。
結語
.NET 3.5現在包括了對所有ASP.NET AJAX 1.0特性的內建支援。我將在將來撰寫更多的部落格貼子,描述如何利用它提供的新功能。
你可以使用VS 2008針對用ASP.NET AJAX 1.0開發的現有ASP.NET 應用,也可以針對內建於.NET 3.5的ASP.NET AJAX的新版本。上面提到的VS Web工具組的部落格貼文在這2個方面的逐步指導應該對你有幫助。
希望本文對你有幫助.