在本章中,我们将讨论整个MVC管道以及HTTP请求在ASP.NET中通过MVC框架时的生命周期.在高级别,生命周期只是用于处理某种类型的请求或更改应用程序状态的一系列步骤或事件.您可能已经熟悉各种框架生命周期,这个概念并不是MVC独有的.
例如,ASP.NET webforms平台具有复杂的页面生命周期.其他.NET平台,如Windows手机应用程序,都有自己的应用程序生命周期.无论采用何种技术,所有这些平台都有一个理由是理解处理流程可以帮助您更好地利用可用功能,MVC也不例外.
MVC有两个生命周期和减去;
应用程序生命周期
请求生命周期
应用程序生命周期是指应用程序进程实际开始运行IIS直到它停止的时间.这由应用程序启动文件中的应用程序开始和结束事件标记.
这是事件序列每次我们的应用程序处理HTTP请求时都会发生这种情况.
每个MVC应用程序的入口点都以路由开始.在ASP.NET平台收到请求后,它会确定如何通过URL路由模块处理它.
模块是可以挂钩到应用程序生命周期的.NET组件添加功能.路由模块负责将传入的URL与我们在应用程序中定义的路由进行匹配.
所有路由都有一个与之关联的路由处理程序,这是MVC框架的入口点.
MVC框架处理转换路径数据到一个可以处理请求的具体控制器.创建控制器后,下一个主要步骤是动作执行.一个名为动作调用程序的组件找到并选择一个适当的Action方法来调用控制器.
在我们的动作结果准备好之后,下一个阶段触发,是结果执行. MVC分离声明结果与执行结果.如果结果是视图类型,则将调用视图引擎,它负责查找和查看我们的视图.
如果结果不是视图,则操作结果将在其上执行拥有.此结果执行是生成对原始HTTP请求的实际响应的原因.