Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Descripción de la ejecución de la aplicación MVC

Las solicitudes a una aplicación web basada en ASP.NET MVC en primer lugar pasan a través del objeto UrlRoutingModule, que es un módulo HTTP. Este módulo analiza la solicitud y realiza la selección de la ruta. El objeto UrlRoutingModule selecciona el primer objeto de ruta que coincide con la solicitud actual. (Un objeto de ruta es una clase que implementa RouteBase y normalmente es una instancia de la clase Route). Si ninguna ruta coincide, el objeto UrlRoutingModule no hace nada y permite que la solicitud recurra al procesamiento de solicitudes de ASP.NET o IIS normal.

A partir del objeto Route seleccionado, el objeto UrlRoutingModule devuelve un objeto que implementa la interfaz IRouteHandler y que está asociada al objeto Route. Normalmente, en una aplicación MVC, esta será una instancia de la clase MvcRouteHandler. La instancia MvcRouteHandler crea un objeto MvcHandler que implementa la interfaz IHttpHandler. A continuación, el objeto MvcHandler selecciona el controlador que administrará la solicitud finalmente. Para obtener más información, vea ASP.NET Routing.

NotaNota:

Cuando una aplicación web ASP.NET MVC se ejecuta en IIS 7.0, no se requiere una extensión de nombre de archivo para los proyectos de MVC. Sin embargo, en IIS 6.0, el controlador requiere que asigne la extensión de nombre de archivo .mvc a la DLL de ISAPI de ASP.NET.

Las clases UrlRoutingModule y MvcRouteHandler son los puntos de entrada principales del marco ASP.NET MVC. Realizan las siguientes acciones:

  • Seleccionar el controlador adecuado en una aplicación web MVC.

  • Obtener una instancia del controlador concreta.

  • Llamar al método Execute del controlador.

En la tabla siguiente se ofrece una lista de las fases de ejecución para un proyecto web de MVC.

Fase

Detalles

Recibir la primera solicitud para la aplicación

En el archivo Global.asax, los objetos Route se agregan al objeto RouteTable.

Realizar el enrutamiento

El módulo UrlRoutingModule utiliza el primer objeto Route coincidente de la colección RouteTable para crear el objeto RouteData, que a continuación utiliza para crear un objeto RequestContext.

Crear el controlador de solicitudes de MVC

El objeto MvcRouteHandler crea una instancia de la clase MvcHandler y la pasa instancia RequestContext al controlador de eventos.

Crear el controlador

El objeto MvcHandler utiliza la instancia RequestContext para identificar el objeto IControllerFactory (normalmente una instancia de la clase DefaultControllerFactory) para crear la instancia del controlador.

Ejecutar el controlador

La instancia MvcHandler llama al método Execute del controlador.

Invocar la acción

Para los controladores que heredan de la clase ControllerBase, el objeto ControllerActionInvoker que está asociado al controlador determina qué método de acción de la clase de controlador se llama y, a continuación, lo llama.

Ejecutar el resultado

El método de acción recibe los datos proporcionados por el usuario, prepara los datos de respuesta adecuados y, a continuación, ejecuta el resultado devolviendo un tipo de resultado. Los tipos de resultado integrados que se pueden ejecutar incluyen los siguientes: ViewResult (que representa una vista y es el tipo de resultado utilizado con mayor frecuencia), RedirectToRouteResult, RedirectResult, ContentResult, JsonResult, FileResulty EmptyResult.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft