包括在.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的最终版本中, 你将不需要采取这些步骤。