Date de publication : mai 2009
Par
Philippe Vialatte (Traduction) (ma page DVP) (Blog)
Understanding the ASP.NET MVC Execution Process
![]() | Quand 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 exige que l'extension .mvc soit mappée à la DLL ASP.NET ISAPI. |
| Étape | Détails |
|---|---|
| Réception de la première requête de l'application | Dans le fichier Global.asax, les objets Route sont ajoutés à l'objet RouteTable. |
| Effectuer le routage | Le module UrlRoutingModule utilise le premier objet Route correspondant à la requête dans la collection RouteTable pour créer un objet RouteData, qu'il utilise ensuite pour créer un objet RequestContext (IHttpContext) objet. |
| Créer un gestionnaire de requête (request handler) MVC | Le module MvcRouteHandler crée une instance de la classe MvcHandler, et lui transmet l'instance de RequestContext. |
| Créer un contrôleur | L'objet MvcHandler utilise l'instance de RequestContext pour identifier l'objet IControllerFactory (généralement une instance de la classe DefaultControllerFactory) pour créer une instance de contrôleur. |
| Exécuter un contrôleur | L'instance de MvcHandler appelle la méthode Execute du contrôleur. |
| Invoquer une Action | La plupart des contrôleurs héritent de la classe de base de Controller. Pour les contrôleurs pour lesquels c'est le cas, l'objet ControllerActionInvoker qui est associé au contrôleur détermine quelle méthode d'action de la classe du contrôleur appeler, puis appelle la méthode. |
| Exécuter une fonction résultat | Une action typique de la méthode peut recevoir des entrées de l'utilisateur, préparer les données appropriées pour le contenu de la réponse, puis exécuter le résultat, en renvoyant un type Result. Les types de base de résultat qui peuvent être exécutés sont les suivants : ViewResult (qui rend une vue et qui est le type résultat le plus souvent utilisé), RedirectToRouteResult, RedirectResult, ContentResult, JsonResult et EmptyResult. |
Copyright © 2009 Equipe dotnet. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. Cette page est déposée.
Copyright © 2000-2012 - www.developpez.com