适用于 Visual Basic 6.0 用户的 WebClass

更新:2007 年 11 月

对于大多数情况,在 Visual Basic 2008 中编写一个 ASP.NET 网站的概念和技术与在 Visual Basic 6.0 中创建 Web 类有很大不同。

概念差异

在 Visual Basic 6.0 中,WebClass 项目(也称为 IIS 应用程序项目)用于基于 ASP 页面技术创建 Web 应用程序。

在 Visual Basic 2008 中,ASP.NET 网站项目用于根据更新的 ASP.NET 技术创建 Web 应用程序。

状态管理

在 Visual Basic 6.0 中,WebClass 项目具有一个 StateManagement 属性,该属性可用于在各请求之间保持让 WebClass 的一个实例处于活动状态。这是通过在设计时将 StateManagement 属性设置为 2 或 wcRetainInstance 来实现的;还有一个可用于终止实例的 ReleaseInstance 方法。

在 Visual Basic 2008 中,ASP.NET Web 应用程序没有 StateManagement 属性。用于管理应用程序状态的模型有很大差别,与状态管理相关的任何代码都需要进行替换。有关更多信息,请参见 ASP.NET State Management(ASP.NET 状态管理)。

升级说明

将 Visual Basic 6.0 WebClass 项目升级到 Visual Basic 2008 时,它会转换为 ASP.NET 网站项目。

您的项目中会添加一些声明:为 WebClass 添加一个声明,为 WebClass 项目中的每个 WebItem 和模板添加一个声明。Page_Load 事件过程将添加到该项目中:首先创建 WebClass 对象,然后再为与该 Visual Basic 6.0 WebClass 项目关联的每个 WebItem 和模板创建 WebItem 对象。最后,在 Page_Load 事件过程中,您将看到对 WebClass 兼容性运行时的调用:WebClass.ProcessEvents。这样运行时便可呈现在请求 URL 中指定的 WebItem。此代码是添加至已升级项目的唯一新代码,只用于模拟 Visual Basic 6.0 WebClass 运行时的基础行为。

Visual Basic 6.0 代码中的 Function 和 Sub 过程(例如 ProcessTags 或 Respond)的范围将从 Private 更改为 Public,以允许 WebClass 兼容性运行时执行它们。

ASP.NET 中不支持某些 Visual Basic 6.0 WebClass 事件,例如 Initialize、BeginRequest、EndRequest 和 Terminate。这些事件过程将会升级,但在运行时不会被调用。升级后,您需要将这些事件中的所有代码移动到等效的 ASP.NET 事件中。

说明:

ASP 对象与 ASP.NET 对象在属性、方法和事件上存在很多行为差异。在将 WebClass 升级到 ASP.NET 之前,您应该了解这些区别以便了解如何修改代码。

请参见

概念

将 WebClass 项目升级到 Visual Basic 2005

参考

不支持 WebClass 事件