和一个基于窗体的应用程序一样,一个 webclass 可以被初始化和被破坏,虽然这些事件的激发和窗体的不同。另外,一个 webclass有几个其他的事件来标记它在生存周期中的不同阶段,指示什么时候浏览器显示第一个 webitem 和什么时候请求被收到和执行。
在一个 webclass 的生命周期中有几个关键的事件:
注意 如果 webclass 的 StateManagement 属性被设置为 wcNoState,webclass在它每次收到一个HTTP请求时激发一个Initialize事件。关于设置StateManagement属性的详细信息,请参阅“ IIS 应用程序中的状态管理器”。
注意 如果最终用户在其使用的开始的 URL 中指定了一个 webitem 和事件用于启动应用程序,则 webclass 不激发 Start 事件。在这种情况下,指定的事件将是激发的第一个事件。关于详细信息,请参阅“设置初始事件”。
注意 如果 webclass 的StateManagement 属性被设置为wcNoState,webclass在它每次向浏览器发送一个响应时激发 Terminate 事件。如果 webclass 的 StateManagement 属性被设置为 wcRetainInstance,webclass 仅在它调用 ReleaseInstance 方法后激发 Terminate 事件。关于设置 StateManagement 属性的详细信息,请参阅“IIS 应用程序的状态管理器”。
对于 IIS 应用程序没有 Load 和 Unload 事件。BeginRequest 或 EndRequest 事件可以完成 Load 和 Unload 事件所做的某些相同功能,这些事件可以用于对您应用程序运行时需要的值进行初始化、在一个请求结束时清理状态和其他的值。Begin 和 EndRequest 是一个 webclass 独特的事件。一个 webclass 在它的整个生命周期中可以收到多个请求。这些事件允许 webclass将每一个请求作为唯一的实体来处理。