我正在尝试搜索MVC的请求生命周期视频。
我在谷歌上做了很多尝试,但找不到它。
答案 0 :(得分:22)
以下是相同的详细说明。
步骤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)
答案 3 :(得分:3)
这可能对您有用。
http://www.dotnet-tricks.com/Tutorial/mvc/TbR0041112-Asp.net-MVC-Request-Life-Cycle.html http://www.youtube.com/watch?v=aRZZFfKwVVU
答案 4 :(得分:0)
简而言之。 ASP.NET MVC在内部使用ASP.NET Routing。当您看到MapRoute调用时,它实际上是一个扩展方法,它将注册到MvcRouteHandler的特定路由。
此路由处理程序的GetHttpHandler将返回MvcHandler,它能够处理与route.e.g匹配的请求。 http://yourdomain.com/ {控制器} / {动作}