soirée 3t soat - asp.net mvc

Download Soirée 3T Soat - Asp.net MVC

If you can't read please download the document

Upload: soat

Post on 24-May-2015

1.275 views

Category:

Technology


3 download

TRANSCRIPT

  • 1. 2013-12-163T ASP.NET MVC1

2. Agenda Le routage Les moteurs de vues Web API2013-12-163T ASP.NET MVC2 3. ASP.NET MVC Le routage2013-12-163T ASP.NET MVC3 4. Le routage Pour mmoire (Ces images sont issues de la MSDN) 2013-12-163T ASP.NET MVC4 5. Le routage Et pour ASP.NET MVC ?Deux impratifs : - un paramtre controller - un paramtre action2013-12-163T ASP.NET MVC5 6. Le routage La cl ? LUrl Routing Module2013-12-163T ASP.NET MVC6 7. Le routage Une route, cest quoi ?2013-12-163T ASP.NET MVC7 8. Le routage Une route, cest quoi ?2013-12-163T ASP.NET MVC8 9. Le routage Des exemples de routes routes.MapRoute( name: "Ma-Premiere-Route", url: "ma-premiere-route" ); routes.MapRoute( name: "Ma-Premiere-Route", url: "ma-premiere-route/{monParametre}" );2013-12-163T ASP.NET MVC9 10. Le routage encore des exemples de routes routes.MapRoute( name: "Ma-Premiere-Route", url: "{controller}/{action}" ); routes.MapRoute( "Ma-Premiere-Route", "{controller}/{action}", new { controller = "Home", action = "Index"} ); routes.MapRoute( "Ma-Premiere-Route", ma-page", new { controller = "Home", action = "Index"} ); 2013-12-163T ASP.NET MVC10 11. Le routage et avec des contraintes routes.MapRoute( name: "Historique", url: "{annee}/{mois}/{jour}", defaults: new { controller = "Home", action = "Historique" }, constraints: new { annee = @"d{4}", mois = @"d{2}", jour = @"d{2}" } );2013-12-163T ASP.NET MVC11 12. Le routage Pour rsumer Arrive de la requteRcupre une implmentation de IRouteHandlerRcupre une implmentation de IHttpHandlerPrise en charge par UrlRoutingModulePour chaque route, value galement les contraintesExcute limplmentation de IHttpHandlerParcourt la table de routageCherche une route dont lurl correspond celle de la requteRetourne la rponse2013-12-163T ASP.NET MVC12 13. DEMO2013-12-163T ASP.NET MVC13 14. 2013-12-163T ASP.NET MVC14 15. ASP.NET MVC Les moteurs de vues2013-12-163T ASP.NET MVC15 16. Les moteurs de vues Une action veut retourner une vue Et aprs ?2013-12-163T ASP.NET MVC16 17. Les moteurs de vues ContrleurViewResultViewEngines ViewEnginesIView IViewReturn View() FindView IView (ou pas)Render Rend la main aprs avoir crit dans la rponseRend la main2013-12-163T ASP.NET MVC17 18. Les moteurs de vues2013-12-163T ASP.NET MVC18 19. Les moteurs de vues : Razor Moteur de templating Tout est dans le @ Syntaxe lgre Une panoplie de Helper extensible (mais aussi disponible pour les autres moteurs !) Il nest pas li qu ASP.NET MVC 2013-12-163T ASP.NET MVC19 20. Les moteurs de vues : Razor La composition vue dun fichier _Layout.cshtml2013-12-163T ASP.NET MVC20 21. Les moteurs de vues : Razor HTML Helpers + Data Annotations = Vue2013-12-163T ASP.NET MVC21 22. Les moteurs de vues : Razor Une classe est gnre pour chaque vue2013-12-163T ASP.NET MVC22 23. Les moteurs de vues : Razor Une classe est gnre pour chaque vue 2013-12-16C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files...3T ASP.NET MVC23 24. DEMO ModelMetadataProvider2013-12-163T ASP.NET MVC24 25. Dmo - ModelMetadataProvider Objectifs : Gnrer des formulaires dynamiquement Pouvoir extraire des metadata dune base de donnes Avoir une cohabitation avec des modles plus classiques qui utilisent les data annotations2013-12-163T ASP.NET MVC25 26. DEMO Razor sans ASP.NET MVC2013-12-163T ASP.NET MVC26 27. Dmo Razor sans ASP.NET MVC Objectifs : Utiliser Razor pour gnrer du contenu dans une application console 2013-12-163T ASP.NET MVC27 28. 2013-12-163T ASP.NET MVC28 29. ASP.NET MVC Web API2013-12-163T ASP.NET MVC29 30. Web API REST ?2013-12-163T ASP.NET MVC30 31. Web API REST ? 3 rgles principales URI : Identifiant de ressources Verbe HTTP : Identifiant dopration Rponse HTTP : Reprsentation dune ressource2013-12-163T ASP.NET MVC31 32. Web API2013-12-163T ASP.NET MVC32 33. Web API Des exemples Rcuprer un produit ? POST ? NON ! GET ? OUI ! GET http://monsiteweb/livre/32013-12-163T ASP.NET MVC33 34. Web API Crer un produit ? GET ? NON ! POST ? OUI ! POST http://monsiteweb/livre/creer Mais aussi : PUT, DELETE, PATCH, HEAD2013-12-163T ASP.NET MVC34 35. Web API Format des donnes et content negociation Entte Accept Application/json Application/xml { "Id":5, "Nom":"Produit 5" } 5Produit 52013-12-163T ASP.NET MVC35 36. Web API ASP.NET MVC ou ASP.NET Web API ?2013-12-163T ASP.NET MVC36 37. Web API Un modle similaire ASP.NET MVC2013-12-163T ASP.NET MVC37 38. Web API Et lusage ? public class ValuesController : ApiController { public IEnumerable Get() { return new[] { "value1", "value2" }; } }config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );2013-12-163T ASP.NET MVC38 39. DEMO Batch Request2013-12-163T ASP.NET MVC39 40. Dmo Batch request Objectifs : Crer une API qui traiter plusieurs requtes en simultane2013-12-163T ASP.NET MVC40 41. 2013-12-163T ASP.NET MVC41 42. Pour aller plus loin http://blog.soat.fr/author/sebastien-ferrand/ http://blogs.developpeur.org/leo/2013-12-163T ASP.NET MVC42