ASP.Net MVC - 请求生命周期

时间:2013-05-20 10:55:05

标签: asp.net asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-2

我正在尝试搜索MVC的请求生命周期视频。

我在谷歌上做了很多尝试,但找不到它。

5 个答案:

答案 0 :(得分:22)

enter image description here

以下是相同的详细说明。

步骤1填充路由: - MVC请求映射到路由表,路由表又指定要调用的控制器和操作。因此,如果请求是第一个请求,则首先要使用routes集合填充路由表。路由表的填充发生在global.asax文件中。

步骤2获取路由: - 根据发送的URL“UrlRoutingModule”搜索路由表以创建“RouteData”对象,该对象具有要调用的控制器和操作的详细信息。

步骤3创建请求上下文: - “RouteData”对象用于创建“RequestContext”对象。

步骤4创建控制器实例: - 将此请求对象发送到“MvcHandler”实例以创建控制器类实例。一旦创建了控制器类对象,它就会调用控制器类的“执行”方法。

步骤5执行操作: - “ControllerActionInvoker”确定要执行的操作并执行操作。

步骤6结果发送: - action方法执行并创建结果类型,可以是查看结果,文件结果,JSON结果等。

因此总共有六个广泛的步骤在MVC请求生命周期中执行。

礼貌地从上面这个代码项目文章http://www.codeproject.com/Articles/556995/MVC-interview-questions-with-answers

中获取的图像

答案 1 :(得分:6)

以下是MVC生命周期:

- App initalization
- Routing
- Instantiate and execute controller
- Lcate and invoke controller action
- Instantiate and render View

答案 2 :(得分:4)

Lifecycle of an ASP.NET MVC 5 Application - 一周前发布。

以下是download的PDF文件。

希望有所帮助!

答案 3 :(得分:3)

答案 4 :(得分:0)

简而言之。 ASP.NET MVC在内部使用ASP.NET Routing。当您看到MapRoute调用时,它实际上是一个扩展方法,它将注册到MvcRouteHandler的特定路由。

此路由处理程序的GetHttpHandler将返回MvcHandler,它能够处理与route.e.g匹配的请求。 http://yourdomain.com/ {控制器} / {动作}