我正在尝试搜索 MVC 请求生命周期的视频。
我在谷歌上尝试了很多,但找不到它。
以下是相同的详细说明。
步骤 1 填充路由: - MVC 请求被映射到路由表,路由表又指定要调用的控制器和操作。因此,如果请求是第一个请求,那么第一件事就是用路由集合填充路由表。这种路由表的填充发生在 global.asax 文件中。
第 2 步获取路由:- 根据发送的 URL,“UrlRoutingModule”搜索路由表以创建“RouteData”对象,其中包含要调用的控制器和操作的详细信息。
步骤 3 创建请求上下文: - “RouteData”对象用于创建“RequestContext”对象。
步骤 4 创建控制器实例: - 该请求对象被发送到“MvcHandler”实例以创建控制器类实例。一旦创建了控制器类对象,它就会调用控制器类的“Execute”方法。
第 5 步执行动作: - “ControllerActionInvoker”确定要执行的动作并执行该动作。
步骤 6 结果发送: - action 方法执行并创建结果类型,可以是视图结果、文件结果、JSON 结果等。
因此,在 MVC 请求生命周期中总共执行了六个广泛的步骤。
以上图片取自此 codeproject 文章http://www.codeproject.com/Articles/556995/MVC-interview-questions-with-answers
下面是 MVC 生命周期:
- App initalization
- Routing
- Instantiate and execute controller
- Lcate and invoke controller action
- Instantiate and render View
简而言之。ASP.NET MVC 在内部使用ASP.NET 路由。当您看到 MapRoute 调用时,它实际上是一个扩展方法,它将向MvcRouteHandler注册特定路由。
此路由处理程序的 GetHttpHandler 将返回一个MvcHandler,它能够处理与路由匹配的请求。例如http://yourdomain.com/ {controller}/{action}