【翻译】如何把ASP.NET AJAX Beta 2的程序转换为ASP.NET AJAX RC的程序

这篇文章的重点在于如何一步一步的教你如何把一个整合了 Microsoft ASP.net ajax 的程序迁移到Microsoft Asp.net ajax rc上。这篇文章只是个快速参考,详细的内容请阅读白皮书,Changes between the ASP.NET AJAX (“Atlas”) CTP and the RC and RTM Releases.

迁移一个现有的程序需要下面3步:

    1.安装新的发行版本。

    2.编辑程序配置文件(web.config)。

    3.升级web服务。

所有这些步骤将在下面详细解释。

1. 安装新的ASP.NET AJAX 发行版本

ajax.asp.net下载最新的asp.net ajax发行版本,然后依照下面的步骤来做:

  1. 利用控制面板里面的添加删除程序删除asp.net ajax beta2
  2. 安装Microsoft ASP.NET 2.0 AJAX Extension 1.0 RC.
  3. 决定Microsoft ASP.NET 2.0 AJAX Futures December CTP中那些选项你需要安装。如果你使用了AutoCompleteExtender控件或者其他不再Core包中的“AtlasCTP的项,那么你就要安装了。详细的需求列表看Feature Matrix
  4. 如果你使用了CTP的项,安装CTP的发行版本并且用下面目录的文件替换Bin目录下的Microsoft.web.preview.dll assembly

%ProgramFiles%\Microsoft ASP.NET\ASP.NET 2.0 AJAX Futures December CTP\v1.0.61025

  1. 如果你使用了“Atlas”控件工具集,请安装新的Asp.net ajax 工具集。关于她的更改请参考在线文档Control Toolkit Web site
  2. 如果合适,最好复制新的AJAX Futures December CTP ASP.NET AJAX Control Toolkit assemblies 到程序的Bin目录.

2. 更新配置文件

核心的Asp.net ajax assemblyMicrosoft.web.extensions.dll转变到System.web.extensions.dll。另外,他们的命名空间也从Microsoft.Web.*变成了System.Web.*

要在现有项目中使用最新的Asp.net ajax,你必须更新你程序文件夹下面的Web.config文件。我们强烈建议你复制一下目录中我们提供给你的web.config模版,然后根据自己的情况更新web.config中的设置:

%ProgramFiles%\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\Web.config

如果你想手动的编写你的web.config文件,请参考本文的Appendix

3. 更新你的web服务

核心的Asp.net ajax assemblyMicrosoft.web.extensions.dll转变到System.web.extensions.dll。因此,你必须改变你所有web服务的ScriptService属性指向新的namespace. 下面的例子(使用C#)展示了CTP版本和RC版本的web服务的ScriptService属性。

CTP

[Microsoft.Web.Script.Services.ScriptService]

public class UIService : System.Web.Services.WebService {

// Web service implementation goes here.

}

ASP.NET AJAX v1.0

[System.Web.Script.Services.ScriptService]

public class UIService : System.Web.Services.WebService {

// Web service implementation goes here.

}

Appendix – 手动更改配置文件

这节主要描述了如何手动配置你的程序配置文件(web.config)以让他可以在asp.net ajax rc版本中工作。

<configuration>

<configSections>

  • 使用下面路径中文件的相应内容替换下面的内容:

%ProgramFiles%\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\Web.config.

<system.web>

<compilation>

<assemblies>

  • 更新现有的entry到新的assembly name:

<add assembly="System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<system.web>

<pages>

<controls>

  • 去除下面的entry:

<add namespace="Microsoft.Web.UI.Controls"

assembly="Microsoft.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

tagPrefix="asp" />

  • 更新现有的entry指向新的assembly namenamespace:

<add namespace="System.Web.UI"

assembly="System.Web.Extensions,

Version=1.0.61025.0,

Culture=neutral,

PublicKeyToken=31bf3856ad364e35"

tagPrefix="asp" />

如果你使用的ASP.NET Futures release, 确保有一下两行:

<add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI"

assembly="Microsoft.Web.Preview"/>

<add tagPrefix="asp"

namespace="Microsoft.Web.Preview.UI.Controls"

assembly="Microsoft.Web.Preview"/>

<system.web>

<pages>

<tagMapping>

  • Update the existing entries to reflect the new assembly name and namespace:

<add tagType="System.Web.UI.WebControls.CompareValidator"

mappedTagType="System.Web.UI.Compatibility.CompareValidator,

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35"/>

<add tagType="System.Web.UI.WebControls.CustomValidator"

mappedTagType="System.Web.UI.Compatibility.CustomValidator,

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35"/>

<add tagType="System.Web.UI.WebControls.RangeValidator"

mappedTagType="System.Web.UI.Compatibility.RangeValidator,

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35"/>

<add tagType="System.Web.UI.WebControls.RegularExpressionValidator"

mappedTagType="System.Web.UI.Compatibility.RegularExpressionValidator,

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35"/>

<add tagType="System.Web.UI.WebControls.RequiredFieldValidator"

mappedTagType="System.Web.UI.Compatibility.RequiredFieldValidator,

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35"/>

<add tagType="System.Web.UI.WebControls.ValidationSummary"

mappedTagType="System.Web.UI.Compatibility.ValidationSummary,

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35"/>

<configuration>

<System.web>

<httpHandlers>

  • 更新现有的entry指向新的assembly name and namespace:

<remove verb="*" path="*.asmx"/>

<add verb="*" path="*.asmx" validate="false"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add verb="GET,HEAD" path="ScriptResource.axd"

type="System.Web.Handlers.ScriptResourceHandler,

System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

validate="false"/>

<configuration>

<System.web>

<httpModules>

  • 更新现有的entry指向新的assembly name and namespace:

<add name="ScriptModule"

type="System.Web.Handlers.ScriptModule,

System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<configuration>

<System.webserver>

<httpModules>

  • 更新现有的entry指向新的assembly name and namespace:  

<validation validateIntegratedModeConfiguration="false"/>

<modules>

<add name="ScriptModule" preCondition="integratedMode"

type="System.Web.Handlers.ScriptModule,

System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</modules>

<handlers>

<remove name="WebServiceHandlerFactory-ISAPI-2.0"/>

<add name="ScriptHandlerFactory" verb="*" path="*.asmx"

preCondition="integratedMode"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add name="ScriptResource" verb="GET" path="ScriptResource.axd"

type="System.Web.Handlers.ScriptResourceHandler,

System.Web.Extensions, Version=1.0.61025.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

</handlers>

 

 

posted on 2006-12-15 08:44  JesseZhao  阅读(2048)  评论(6编辑  收藏  举报

导航