【问题标题】:ASP.Net MVC - Request Life Cycle [closed]ASP.Net MVC - 请求生命周期 [关闭]
【发布时间】:2013-05-20 10:55:04
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

下面是相同的详细解释。

步骤 1 填充路由: - MVC 请求被映射到路由表,路由表依次指定要调用的控制器和操作。因此,如果请求是第一个请求,那么第一件事就是用路由集合填充路由表。这种路由表的填充发生在 global.asax 文件中。

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

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

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

第 5 步执行动作:-“ControllerActionInvoker”确定要执行的动作并执行该动作。

Step 6 Result sent: - action 方法执行并创建结果类型,可以是视图结果、文件结果、JSON 结果等。

因此,在 MVC 请求生命周期中,总共执行了六个主要步骤。

以上图片取自此代码项目文章http://www.codeproject.com/Articles/556995/MVC-interview-questions-with-answers

【讨论】:

    【解决方案2】:

    下面是 MVC 生命周期:

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

    【讨论】:

      【解决方案3】:

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

      这是download的PDF文件。

      希望有帮助!

      【讨论】:

        【解决方案4】:

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

        此路由处理程序的 GetHttpHandler 将返回一个MvcHandler,它能够处理与路由匹配的请求。例如http://yourdomain.com/{controller}/{action}

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多