.NET 3.5和VS 2008中的ASP.NET AJAX
【原文地址】[url=http://weblogs.asp.net/scottgu/archive/2007/07/30/asp-net-ajax-in-net-3-5-and-vs-2008.aspx][color=#336699] ASP.NET AJAX in .NET 3.5 and VS 2008 [/color][/url]【原文发表日期】 Monday, July 30, 2007 12:06 AM
在过去,我曾在《[url=http://weblogs.asp.net/scottgu/archive/2007/06/21/vs-2008-javascript-intellisense.aspx][color=#336699]VS 2008 JavaScript Intellisense[/color][/url]》 和 《 [url=http://weblogs.asp.net/scottgu/archive/2007/07/19/vs-2008-javascript-debugging.aspx][color=#336699]VS 2008 JavaScript debugging[/color][/url]》 中讨论过JavaScript和AJAX方面的改进。下面是作为VS 2008和.NET 3.5一部分发布的一些ASP.NET AJAX运行时特性的几个备注,以及你在VS 2008中打开现有ASP.NET AJAX 1.0[b]项目[/b]时需要知道的几个重要事项。
[u]包括在.NET 3.5中的ASP.NET AJAX[/u][img]http://www.scottgu.com/blogposts/ajaxinorcas/step1.jpg[/img] ASP.NET AJAX 1.0是以可以在ASP.NET 2.0之上安装的单独一个[b]下载[/b]的形式发布的。从.NET框架3.5开始,所有这些特性都成为ASP.NET所固有的,这意味着在构建或部署应用时,你不再需要下载和安装单独的ASP.NET AJAX安装文件。
当你在VS 2008 中创建针对.NET框架3.5的新ASP.NET应用或网站项目时,VS会自动在你的web.config 文件里添加适当的AJAX注册设置,而且核心ASP.NET AJAX [b]服务器[/b]控件会出现在你的[b]工具箱[/b]里。
随.NET 3.5发布的ASP.NET AJAX 版本有不少很好的改进 - 包括对可与WebPart一起使用的UpdatePanel的支持,对基于WCF的JSON结点的支持,对在JavaScript中使用ASP.NET用户数据,角色和登录应用服务的支持,以及N个缺陷修补和性能改进。
[u]理解ASP.NET AJAX的版本[/u]ASP.NET AJAX 1.0和.NET 3.5两者可以在同个机器上并行安装。ASP.NET AJAX 1.0是在System.Web.Extensions.dll 的[i]V1.0[/i]程序集中实现的,而包括在.NET 3.5中的ASP.NET AJAX实现存在于System.Web.Extensions.dll 的[i]V3.5[/i]程序集中。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的应用,以及使用新的[url=http://weblogs.asp.net/scottgu/archive/2007/06/20/vs-2008-multi-targeting-support.aspx][color=#336699]VS 2008多定向支持[/color][/url]来构建使用ASP.NET AJAX 1.0的ASP.NET 2.0应用。在下面的部分,我将讨论怎么做。
[u]重要的Beta 2信息[/u]在我们在web上发布Beta2前几天,我们发现了一个并行安装ASP.NET AJAX的问题。如果你读过我原先的《[url=http://blog.joycode.com/scottgu/archive/2007/07/30/106793.aspx][color=#336699]VS 2008和.NET 3.5 Beta 2发布了[/color][/url]》的[b]博客[/b]贴子的话,你会记得下面这个我特别指出的来修正这一问题的安装后补丁步骤:
[indent][i]你应该[url=http://download.microsoft.com/download/7/9/2/79268325-1006-4566-bd26-5581b8971f36/DisableAjaxPolicy.EXE][color=#336699]下载和运行这个批文件[/color][/url]。这只要几秒钟就可以运行完,它修补了这个星期早些时候我们发现的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版本。 [/i]
[/indent]好消息是,这会修正我们发现的并行安装问题,使得我们可以安全地在同一台机器上使用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的最终版本中, 你[u]将不[/u]需要采取这些步骤。
[u]把ASP.NET AJAX 1.0应用升级到使用ASP.NET AJAX 3.5[/u]当你使用VS 2008 打开使用了ASP.NET AJAX 1.0的现有ASP.NET 2.0 应用时,你可以选择将应用升级到使用.NET 3.5(以及包含在其中的ASP.NET AJAX 版本)。
VS Web[b]工具[/b]组最近发表了《[url=http://blogs.msdn.com/webdevtools/archive/2007/07/28/upgrading-asp-net-ajax-1-0-websites-and-web-applications-to-net-framework-3-5.aspx][color=#336699]Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5[/color][/url]》的博客贴子,其中描述了怎么使用VS 2008 Beta2来实现升级的逐步指令。好消息是,把ASP.NET AJAX 1.0应用更新到.NET 3.5时,[u]不[/u]要求你改动任何代码,只需要花几分钟就可以完成。
作为升级ASP.NET AJAX 1.0应用到.NET 3.5的一部分,你要更新你也许在用的编译过的ASP.NET AJAX控件库。ASP.NET AJAX 控件[b]工具包[/b]开发组刚发表了AJAX 控件工具包的ASP.NET AJAX 1.0和.NET 3.5 版本,你可以[url=http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=4923][color=#336699]在这里下载[/color][/url]:
[img]http://www.scottgu.com/blogposts/ajaxbeta2/step1.jpg[/img]
《[url=http://blogs.msdn.com/webdevtools/archive/2007/07/28/upgrading-asp-net-ajax-1-0-websites-and-web-applications-to-net-framework-3-5.aspx][color=#336699]Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5[/color][/url]》博客贴子讨论了如何将AJAX 控件工具包的ASP.NET AJAX 3.5版本加到VS 2008工具箱里。
[u]使用VS 2008 构建ASP.NET AJAX 1.0应用(使用多定向)[/u]当你使用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工具组最近发表了《[url=http://blogs.msdn.com/webdevtools/archive/2007/07/30/using-vs-2008-to-target-asp-net-ajax-1-0.aspx][color=#336699]Using VS 2008 to Target ASP.NET AJAX 1.0[/color][/url]》的博客贴子,其中描述了如何使用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的一些新特性,象[url=http://weblogs.asp.net/scottgu/archive/2007/06/21/vs-2008-javascript-intellisense.aspx][color=#336699]JavaScript Intellisense[/color][/url], [url=http://weblogs.asp.net/scottgu/archive/2007/07/19/vs-2008-javascript-debugging.aspx][color=#336699]JavaScript Debugging[/color][/url],更棒的[url=http://weblogs.asp.net/scottgu/archive/2007/07/25/vs-2008-web-designer-and-css-support.aspx][color=#336699]所见即所得的HTML设计器[/color][/url],[url=http://blogs.msdn.com/webdevtools/archive/tags/CSS/default.aspx][color=#336699]CSS管理[/color][/url],改进的[url=http://weblogs.asp.net/scottgu/archive/2007/07/28/nice-vs-2008-code-editing-improvements.aspx][color=#336699]代码编译器[/color][/url],VS Professional中的单元测试,TFS中的连续集成支持,等等。
[u]结语[/u].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个方面的逐步指导应该对你有所帮助。
希望本文对你有所帮助
页:
[1]
