ASP.NET MVC - 生命周期


在本章中,我们将讨论整个 MVC 管道以及 HTTP 请求在 ASP.NET 中的 MVC 框架中传输时的生命周期。从高层次来看,生命周期只是用于处理某种类型的请求或更改应用程序状态的一系列步骤或事件。您可能已经熟悉各种框架生命周期,这个概念并不是 MVC 所独有的。

例如,ASP.NET Webforms 平台具有复杂的页面生命周期。其他 .NET 平台(例如 Windows 手机应用程序)有自己的应用程序生命周期。无论技术如何,对于所有这些平台来说,了解处理管道可以帮助您更好地利用可用功能,MVC 也不例外。

MVC 有两个生命周期 -

  • 应用程序生命周期
  • 请求生命周期
MVC 生命周期

应用程序生命周期

应用程序生命周期是指应用程序进程实际开始运行 IIS 直到停止的时间。这是由应用程序启动文件中的应用程序启动和结束事件标记的。

请求生命周期

这是我们的应用程序每次处理 HTTP 请求时发生的事件序列。

每个 MVC 应用程序的入口点都从路由开始。ASP.NET 平台收到请求后,它会通过 URL 路由模块确定如何处理该请求。

模块是可以连接到应用程序生命周期并添加功能的 .NET 组件。路由模块负责将传入的 URL 与我们在应用程序中定义的路由进行匹配。

所有路由都有一个关联的路由处理程序,这是 MVC 框架的入口点。

路由处理程序

MVC 框架负责将路由数据转换为可以处理请求的具体控制器。创建控制器后,下一个主要步骤是Action Execution称为操作调用程序的组件会查找并选择适当的操作方法来调用控制器。

准备好操作结果后,就会触发下一个阶段,即结果执行。MVC 将声明结果与执行结果分开。如果结果是视图类型,则将调用视图引擎,它负责查找和渲染我们的视图。

如果结果不是视图,则操作结果将自行执行。此结果执行会生成对原始 HTTP 请求的实际响应。