在過去,我曾在《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
ASP.NET AJax 1.0是以可以在ASP.NET 2.0之上安裝的單獨一個下載的形式發布的。從.NET框架3.5開始,所有這些特性都成為ASP.Net所固有的,這意味著在構建或部署
當你在VS 2008 中創建針對.NET框架3.5的新ASP.NET應用或網站項目時,VS會自動在你的web.config 文件裡添加適當的AJax注冊設置,而且核心ASP.Net AJax open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BRYBFY0c0R4mwA5DC6wOawLzyCvmstTG9997GBMCNtwHQ2REQAxgDIIL2kgsoFDgAUPvZ_-YEYJ3Z0IGUBaoBCjIwMDAwMTYxMjOyAQ1uZXdzLmNzZG4ubmV0yAEB2gEraHR0cDovL25ld3MuY3Nkbi5uZXQvbi8yMDA3MDgwOS8xMDcyNzAuaHRtbKkCqnhVpPAZgj7IAonw6AGoAwHoA7cC6APgAfUDAAQAAA&num=3&adurl=http://www.china-yubao.com/docc/cpJS.htm&clIEnt=ca-pub-7244513001137299");GgKwClickStat("工具箱","www.china-yubao.com/index.htm","afc","2000016123");" class="kgb">工具箱
隨.NET 3.5發布的ASP.NET AJax 版本有不少很好的改進 - 包括對可與WebPart一起使用的UpdatePanel的支持,對基於WCF的JSON結點的支持,對在JavaScript中使用ASP.Net用 戶數據,角色和登錄應用服務的支持,以及N個缺陷修補和性能改進。
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應用。在下面的部分,我將討論怎麼做。
在我們在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的最終版本中, 你將不需要采取這些步驟。
當你使用VS 2008 打開使用了ASP.NET AJax 1.0的現有ASP.NET 2.0 應用時,你可以選擇將應用升級到使用.NET 3.5(以及包含在其中的ASP.Net AJax 版本)。
VS Web 作為升級ASP.NET AJAX 1.0應用到.NET 3.5的一部分,你要更新你也許在用的編譯過的ASP.NET AJax控件庫。ASP.Net AJax 控件
《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的現有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