Web 引用
与常规引用不同,Web 引用指向 Web 服务。在 Visual Studio .NET 2003 中,当您在 ASP.NET 1.x 应用程序中创建了 Web 引用后:
|
1. |
就在该应用程序的 Web References 目录下创建了一个目录 |
|
2. |
就创建了一个引用类,其中包含 Web 服务的 WSDL 中为每个对象定义的代理类。 |
|
3. |
就创建了一个名为 reference.map 的 discovery 文件,其中包含有关如何创建和更新 Web 引用的信息。 |
ASP.NET 2.0 更改了此过程以构成新的目录结构以及 Web 服务在 .NET Framework 2.0 中的处理方式的一些更改。
对应用程序的更改
转换向导将在下列几个方面对应用程序进行更新:
| • |
将所有 Web 引用目录从 Web References 目录移到 App_WebReferences 目录下。 |
| • |
在 App_Code 目录下放置 WSDL 文件的一个副本。WSDL 文件的版本提供程序将自动生成 Web 服务代理类,这些代理类已编译,并且可通过任何 Web 页面访问,因为它们存储在 App_Code 目录下。 |
| • |
删除由 Visual Studio .NET 2003 生成的代理类。旧的 1.x 代理类不再是必需的,因为这些代理现在可在 App_Code 目录下自动生成。 |
| • |
将 discovery 文件的扩展名 .map 更改为 .discomap。 |
Web 服务
在 ASP.NET 1.x 中,Web 服务 (.asmx) 自动拆分到空白标题页面 (.asmx) 和包含实际方法的代码分离文件中。
对应用程序的更改
转换向导将在下列几个方面对应用程序进行更新:
| • |
将代码分离类移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。 |
| • |
更改 .asmx 文件中的 CodeBehind 属性,以便指向新位置。(请注意,代码分离文件不使用局部类,因此继续使用 CodeBehind 属性。) |
| • |
将所有的默认、Friend 和 Internal 范围的声明更改为 Public。 |
Global.Asax
在任一 ASP.NET 应用程序中,您都可以使用 Global.asax 文件捕获特定的应用程序级事件,包括启动、关闭、会话周期、请求周期和错误消息。此文件与 Web 服务文件十分相似,它具有简单的 shell 标题页面 (.asax) 和代码分离文件。
对应用程序的更改
转换向导将在下列几个方面对应用程序进行更新:
| • |
将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。 |
| • |
“Code-behind”属性将从 ASAX 文件的指令中删除。 |
| • |
(对于 Visual Basic)向该类文件中添加一条命名空间语句。命名空间由 Web 项目中的根命名空间定义。 |
数据集
在 ASP.NET 1.x 中,使用内置的向导或 xsd.exe 命令行工具来生成类型化 DataSet 对象。生成的代理对象存储在顶层目录下。而在 ASP.NET 2.0 中,这些 DataSet 对象以不同的方式生成和存储。
对应用程序的更改
转换向导将在下列几个方面对应用程序进行更改:
| • |
将 .xsd 文件(DataSet 描述符)移到 App_Code 目录下。运行时将自动根据此文件生成类型化数据集。 |
| • |
删除旧的代理文件。 |
源代码控制中的 Web 项目
转换向导假定从 ASP.NET 1.x 到 ASP.NET 2.0 的转换是一项非常重大的更改,以致于您需要对开发过程进行分叉。基于这种假定,转换向导将会在开始转换之前检出整个应用程序,然后从源代码控制树删除生成的代码。完成转换后,您必须将项目添加回源代码控制系统。
对应用程序的更改
如果项目位于与 Visual Studio 2005 集成的源代码控制系统中,则转换向导将执行下列操作:
| • |
检出与当前项目相关联的每个文件。 |
| • |
执行转换。 |
| • |
从源代码控制删除生成的代码。请注意,Microsoft FrontPage Web 应用程序将保留在源代码控制中(FrontPage 工作方式结果)。 |
| • |
转换后,您需要将站点添加回源代码控制。 |
