ASP.Net Web开发基础 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

ASP.NET应用处理流程

第一次在访问ASP.NET页面时,服务器端将创建HttpApplication的一个新实例。不过,为了尽可能提高性能,可对多个请求重复使用HttpApplication实例。见下图的处理流程图:

如果应用程序中包含有Global.asax文件,则 ASP.NET 会创建Global.asax类Global.asax中包含了响应 应用程序级别和会话级别事件的代码。一个典型的Global.asax文件例子如下:

void Application_Start(object sender, EventArgs e)
{
    // 在应用程序启动时运行的代码
}
void Application_End(object sender, EventArgs e)
{
    //  在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
    // 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
    // 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
    // 在会话结束时运行的代码
}

默认情况下,ASP.NET 自动绑定了这些处理程序到相应的应用或会话事件上。应用启动时将触发Application_Start事件处理,客户端访问页面发起会话,将触发Session_Start事件处理,关闭页面结束会话将会触发Session_End事件处理,关闭或重启Web服务器将触发Application_End事件处理。

我们可以在这些处理程序中插入代码,以在应用程序启动、关闭或者会话启动、结束时执行要求的功能。我们将通过一个实际的例子来展示应用程序的处理流程。

修改global.aspx.cs代码,配合站点访问统计的页面,查看输出,来了解ASP.NET 应用处理的具体流程中各个事件的处理时机。