.NET 3.5和VS 2008中的ASP.NET AJAX
【原文地址】 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
相關文章
- ASP.NET AJAX 是ASP.NET 3.5 才引入的ASP.NET
- VS 2008 和 .NET 3.5 Beta 2 簡介
- ASP.NET MVC和AJAXASP.NETMVC
- VS 2008 和.NET 3.5 Beta2常見問題的解決方案
- 【趙劼】分清ASP.NET AJAX中的Extender和Behavior模型ASP.NET模型
- ASP.NET AJAX中的非同步PageMethod呼叫ASP.NET非同步
- ASP.NET 2.0當中的Call back技術與ASP.NET AJAXASP.NET
- 第88節:Java中的Ajax和ASP.NET和TCP/IP 教程和JJavaASP.NETTCP
- VS2008 .Net 3.5 Remoting程式設計入門三REM程式設計
- ASP.NET AJAX中的非同步Web Services呼叫ASP.NET非同步Web
- 第88節:Java中的Ajax和ASP.NET和TCP/IP 教程和JSONJavaASP.NETTCPJSON
- ASP.NET 使用AjaxASP.NET
- Asp.Net中ajax+aspx使用詳解ASP.NET
- Asp.Net中ajax+ashx使用詳解ASP.NET
- ASP.NET中的AJAX應用開發總結ASP.NET
- ASP.NET AJAX(Atlas)和Anthem.NET——管中窺豹般小小比較ASP.NET
- Asp.Net MVC 使用 AjaxASP.NETMVC
- AJAX Panels with ASP.NET MVCASP.NETMVC
- ASP.NET MVC 之 AJAXASP.NETMVC
- 淺析ASP.NET 3.5與ASP.NET 4.0主要差別ASP.NET
- Asp.net 利用Jquery Ajax傳送和接收DataTableASP.NETjQuery
- ASP.NET AJAX 4的Client-Side Template和DataViewASP.NETclientIDEView
- AJAX基於ASP.NET MVCASP.NETMVC
- Asp.net Ajax 註冊框架ASP.NET框架
- ASP.NET 調味品:AJAXASP.NET
- ASP.NET 的MVC結構之AJAXASP.NETMVC
- VS 2008 sp1 + .NET 3.5 sp1(8) - Dynamic Data(動態資料)
- ajax的post請求,用於asp.net ?ASP.NET
- 剖析ASP.NET AJAX的物件導向思想ASP.NET物件
- 拿到了《ASP.NET 3.5 揭祕(卷1)》的樣書ASP.NET
- 在ASP.NET中使用AJAX的簡單方法ASP.NET
- ASP.Net 管道模型 VS Asp.Net Core 管道 總結ASP.NET模型
- [ASP.NET MVC 小牛之路]14 - Unobtrusive AjaxASP.NETMVC
- asp.net Ajax 終極解決方案ASP.NET
- ASP.NET AJAX常見問題整理ASP.NET
- VS2005入門之Asp.Net中的事件ASP.NET事件
- vs2008 ASP.NET Web應用程式介面呼叫後臺函式ASP.NETWeb函式
- Asp.Net中的Action和Func委託ASP.NET