4

Click here to load reader

Mvc Understanding Execution Process

Embed Size (px)

DESCRIPTION

merci

Citation preview

  • Comprendre le processusd'excution des applications MVC

    par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    Date de publication : mai 2009

    Dernire mise jour :

    Apprenez comment le Framework ASP.NET MVC traite une requte tape par tape.

  • Comprendre le processus d'excution des applications MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 2 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme 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' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/mvc-understanding-execution-process/

    Traduction.....................................................................................................................................................................3Comprendre le processus d'excution de l'application MVC...................................................................................... 3

  • Comprendre le processus d'excution des applications MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 3 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme 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' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/mvc-understanding-execution-process/

    Traduction

    Cet article est la traduction la plus fidle possible de l'article original : Understanding the ASP.NET MVCExecution Process

    Comprendre le processus d'excution de l'application MVC

    Les requtes envoyes une application Web base sur ASP.NET MVC passent d'abord dans l'objetUrlRoutingModule, qui est un module HTTP. Ce module analyse la requte et effectue une slection sur la route.L'objet UrlRoutingModule slectionne la premire route qui correspond la demande actuelle. (Un objet route estune classe qui implmente RouteBase, et est gnralement une instance de la classe Route). Si aucune route necorrespond, l'objet UrlRoutingModule ne fait rien et laisse la demande retourner au systme de traitement standarddes demandes d'ASP.NET ou d'IIS.

    L'objet UrlRoutingModule obtient depuis l'objet Route l'objet IRouteHandler qui est associ l'objet Route.Gnralement, dans une application MVC, ce sera une instance de MvcRouteHandler. L'instance de IRouteHandlercre un objet IHttpHandler et le passe l'objet IHttpContext. Par dfaut, l'instance de IHttpHandler pour MVC estl'objet MvcHandler. L'objet MvcHandler slectionne le contrleur qui, terme, traitera la demande.

    Quand une application Web ASP.NET MVC s'excute dans IIS 7.0, aucune extension denom de fichier n'est requise pour les projets MVC. Toutefois, dans IIS 6.0, le gestionnaireexige que l'extension .mvc soit mappe la DLL ASP.NET ISAPI.

    L'UrlRoutingModule et l'IHttpHandler sont les points d'entre du Framework ASP.NET MVC. Ils excutent lesactions suivantes :

    Slectionner le contrleur dans une application Web MVC. Obtenir une instance spcifique d'un contrleur. Appeler la mthode Execute du contrleur.

    Le tableau suivant prsente les tapes de l'excution d'un projet Web MVC.

    tape DtailsRception de la premire requte del'application

    Dans le fichier Global.asax, les objets Routesont ajouts l'objet RouteTable.

    Effectuer le routage Le module UrlRoutingModule utilise lepremier objet Route correspondant larequte dans la collection RouteTablepour crer un objet RouteData, qu'il utiliseensuite pour crer un objet RequestContext(IHttpContext) objet.

    Crer un gestionnaire de requte (requesthandler) MVC

    Le module MvcRouteHandler cre uneinstance de la classe MvcHandler, et luitransmet l'instance de RequestContext.

    Crer un contrleur L'objet MvcHandler utilisel'instance de RequestContext pouridentifier l'objet IControllerFactory(gnralement une instance de la classeDefaultControllerFactory) pour crer uneinstance de contrleur.

    Excuter un contrleur L'instance de MvcHandler appelle lamthode Execute du contrleur.

    Invoquer une Action La plupart des contrleurs hritent de laclasse de base de Controller. Pour les

  • Comprendre le processus d'excution des applications MVC par Philippe Vialatte (Traduction) (ma page DVP) (Blog)

    - 4 -Copyright 2009 - Equipe dotnet. Aucune reproduction, mme 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' 3 ans de prison et jusqu' 300 000 Ede dommages et intrets. Droits de diffusion permanents accords developpez LLC.

    http://dotnet.developpez.com/mvc/mvc-understanding-execution-process/

    contrleurs pour lesquels c'est le cas, l'objetControllerActionInvoker qui est associau contrleur dtermine quelle mthoded'action de la classe du contrleur appeler,puis appelle la mthode.

    Excuter une fonction rsultat Une action typique de la mthode peutrecevoir des entres de l'utilisateur, prparerles donnes appropries pour le contenude la rponse, puis excuter le rsultat, enrenvoyant un type Result. Les types debase de rsultat qui peuvent tre excutssont les suivants : ViewResult (qui rendune vue et qui est le type rsultat le plussouvent utilis), RedirectToRouteResult,RedirectResult, ContentResult,JsonResult et EmptyResult.

    SynopsisSommaireTraductionComprendre le processus d'excution de l'application MVC