.NET 3.5和VS 2008中的ASP.NET AJAX

superdont發表於2007-11-09

【原文地址】 ASP.NET AJAX in .NET 3.5 and VS 2008
【原文發表日期】 Monday, July 30, 2007 12:06 AM

在過去,我曾在《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>部分節點,以及應用編譯時所引用的 System.Web.Extensions.dll程式集版本來配置的(在網站專案中,這些引用是註冊在web.config檔案中的< assemblies>部分的,而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 控制元件工具包開發組剛發表了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個方面的逐步指導應該對你有所幫助。

希望本文對你有所幫助,

Scott

 

相關文章