Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

Fonctionnement de l'exécution d'applications MVC

Les demandes envoyées à une application Web basée sur ASP.NET MVC traversent d'abord l'objet UrlRoutingModule, qui est un module HTTP. Ce module analyse la demande et exécute la sélection d'itinéraire. L'objet UrlRoutingModule sélectionne le premier objet d'itinéraire qui correspond à la demande actuelle. (Un objet d'itinéraire est une classe qui implémente RouteBase et correspond généralement à une instance de la classe Route.) Si aucun itinéraire ne correspond, l'objet UrlRoutingModule n'exécute aucune opération et la demande revient au processus de traitement de demande ASP.NET ou IIS normal.

À partir de l'objet Route sélectionné, UrlRoutingModule obtient un objet implémentant l'interface IRouteHandler et associé à l'objet Route. En général, il s'agit d'une instance de la classe MvcRouteHandler dans une application MVC. L'instance MvcRouteHandler crée un objet MvcHandler qui implémente l'interface IHttpHandler. L'objet MvcHandle sélectionne ensuite le contrôleur qui gérera finalement la demande. Pour plus d'informations, consultez ASP.NET Routing.

RemarqueRemarque :

Lorsqu'une application Web ASP.NET MVC s'exécute dans IIS 7.0, aucune extension de nom de fichier n'est requise pour les projets MVC. Toutefois, dans IIS 6.0, le gestionnaire requiert que vous mappiez l'extension de nom de fichier .mvc à la DLL ISAPI ASP.NET.

Les classes UrlRoutingModule et MvcRouteHandler sont les points d'entrée de l'infrastructure ASP.NET MVC. Elles exécutent les actions suivantes :

  • Sélection du contrôleur approprié dans une application Web MVC.

  • Obtention d'une instance de contrôleur spécifique.

  • Appel de la méthode Execute du contrôleur.

Le tableau suivant répertorie les étapes d'exécution d'un projet Web MVC.

Étape

Détails

Réception de la première demande concernant l'application

Dans le fichier Global.asax, les objets Route sont ajoutés à l'objet RouteTable.

Routage

Le module UrlRoutingModule utilise le premier objet Route correspondant de la collection RouteTable pour créer l'objet RouteData qu'il utilise ensuite pour créer un objet RequestContext.

Création d'un gestionnaire de demandes MVC

L'objet MvcRouteHandler crée une instance de la classe MvcHandler et passe l'instance RequestContext au gestionnaire.

Création du contrôleur

L'objet MvcHandler utilise l'instance RequestContext pour identifier l'objet IControllerFactory (en général, une instance de la classe DefaultControllerFactory) et créer avec ce dernier l'instance de contrôleur.

Exécution du contrôleur

L'instance MvcHandler appelle la méthode Execute du contrôleur.

Appel de l'action

Pour les contrôleurs qui héritent de la classe ControllerBase, l'objet ControllerActionInvoker associé au contrôleur détermine la méthode d'action de la classe de contrôleur à appeler, puis appelle cette méthode.

Exécution du résultat

La méthode d'action reçoit l'entrée d'utilisateur, prépare les données de réponse appropriées, puis exécute le résultat en retournant un type de résultat. Les types de résultats intégrés qui peuvent être exécutés incluent les suivants : ViewResult (qui restitue une vue et correspond au type de résultat le plus fréquemment utilisé), RedirectToRouteResult, RedirectResult, ContentResult, JsonResult, FileResult et EmptyResult.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft