02 - [ASP.NET Core] ASP.NET Core MVC

Click here to load reader

  • date post

    21-Feb-2017
  • Category

    Technology

  • view

    91
  • download

    10

Embed Size (px)

Transcript of 02 - [ASP.NET Core] ASP.NET Core MVC

ASP.NET Core MVC

ASP.NET Core MVC

Les nouveauts Microsoft ASP.NET core MVC

1

SpeakersGeorges DAMIENConsultant .NET/Web @ CellenzaMicrosoft MVP, MCSD, MCPEmilien BassezConsultant .NET/Web @ Cellenza

Jean Dumas de RaulyConsultant .NET @ Cellenza

2

PrrequisVisual Studio 2015 Update 3Visual Studio Code avec lextension C#

1- IntroductionASP.NET Core MVC

4

Historique Pour rappel

Le model MVCMVC cest avant tout un patron de conception quon retrouve essentiellement dans les couches de prsentation applicative.

Il a t conu pour la premire fois dans les annes 78-79.

Il aide mieux structurer le code en sparant les notions de prsentation pure la notion de traitement de donnes.

MVC pour Model-View-Controller.

Asp.Net Core ?Cest un nouveau framework refait de 0 avec pour matres mots :Cross-platform (Windows, Mac, Linux)IoT apps & Mobile backendsOrient Cloud (mais galement On-Premise)Applications moderns (Web Apps)Open source (le code est sur GitHub)https://github.com/aspnet/home

Asp.Net Core : avantagesWeb UI et Web APIs unifisIntgration simplifie des frameworks FrontCloud ready configurationInjection de dpendance intgre en natifPipeline Http leger et modulaireHbergement sous IIS ou selfHostGestion avance du versioning applicativeCross plateformeOpen source

Asp.Net Core : Incovnients dateFramework Core pas compltement prtPackages pas jourTooling incomplet

ASP.NET Core vue macro

ASP.NET MVC Core

Nouveau template ASP.NET MVC Core

Fondamentaux

13

Ce qui est (vraiment) nouveau

Sparation complte avec IIS

Prise en charge des requtes entrantes plus clair

Dmos

Application Console

Kestrel

Lger PerformantMultiplateforme

Manque de fonctionnalit

WebListener

Plus de fonctionnalits que Kestrel

Moins performantUniquement sur Windows

Et IIS ???Nest plus quun reverse proxy mais bien intgr

Pipeline & Middelware

Pipeline simple

Arbre du pipeline

Map : branche par chemin

MapWhen : branche par predicat

Run : feuille

Exemple de branches

Quand lutiliser ?

LoggingAuthentificationGestion derreurCompression des rponses http

Dmos

Custome Middelware

Injection de dpendances

AddTransient : 1 instance par besoin

AddSingleton : 1 instance pour lapplication

AddScoped : 1 instance par requte

Pas besoin de rinventer la roueUseCorsUseMvcUseExceptionHandlerUseResponseCompressionUseCookieAuthenticationUseStaticFilesUseGoogleAuthenticationUseDeveloperExceptionPageUseSignalRUseWebSocketsUseRouterUseBrowserLinkUseMicrosoftAccountAuthenticationUseTwitterAuthenticationUseResponseCachingUseDirectoryBrowserUseForwardedHeadersUseClaimsTransformationUsePathBaseUseRewriterUseCorsUseMvcUseExceptionHandlerUseResponseCompressionUseCookieAuthenticationUseStaticFilesUseGoogleAuthenticationUseDeveloperExceptionPageUseSignalRUseWebSocketsUseRouterUseBrowserLinkUseMicrosoftAccountAuthenticationUseTwitterAuthenticationUseResponseCachingUseDirectoryBrowserUseForwardedHeadersUseClaimsTransformationUsePathBaseUseRewriter

26

ASP.NET Core MVC : Front EndNouveauts Front MVC

Web Root (wwwroot)Il sagit dun repertoire ddi par convention aux fichiers statiques de lapplication web.Le nom du repertoire est communement nomm : webrootOn y trouve par exempleLes fichiers JSLes fichiers CSSLes images utilises par le sitesLes fonts Web

28

Bundling&minifyingbundleconfig.json

29

Bundling&minifying : commandesCommandesdotnet bundledotnet bundle cleandotnet bundle watch

Outil simple, seulement 3 commandes

30

Bower

31

_ViewImports.cshtmlRfrence les namespaces dans les vuesInjecte des services dans les vuesAjouter des TagHelpers dans les vues

32

Tag HelpersGnration dhtml cot serveur comme on le faisait avec les HtmlHelpers.Ne pas dnaturer le html de vos vues en introduisant moins de C# dans vos fichier cshtml.

@Html.ActionLink("Register", "Register", "Account")Register

33

Coming soon

Tag Helpers

Coming soon

devient

34

ViewComponentsRemplace ChildActionA mis chemin entre le Controller / PartialView

Lienshttps://www.asp.net/corehttps://docs.microsoft.com/fr-fr/aspnet/core/https://docs.microsoft.com/en-us/aspnet/core/https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection