+ All Categories
Home > Technology > 02 - [ASP.NET Core] ASP.NET Core MVC

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

Date post: 21-Feb-2017
Category:
Upload: cellenza
View: 121 times
Download: 10 times
Share this document with a friend
36
ASP.NET Core MVC Les nouveautés Microsoft ASP.NET core MVC
Transcript
Page 1: 02 - [ASP.NET Core] ASP.NET Core MVC

ASP.NET Core MVCLes nouveautés Microsoft ASP.NET core MVC

Page 2: 02 - [ASP.NET Core] ASP.NET Core MVC

Speakers Georges DAMIEN Consultant .NET/Web @

Cellenza Microsoft MVP, MCSD,

MCP

Emilien Bassez Consultant .NET/Web @

Cellenza

Jean Dumas de Rauly Consultant .NET @

Cellenza

Page 3: 02 - [ASP.NET Core] ASP.NET Core MVC

Prérequis Visual Studio 2015 Update 3 Visual Studio Code avec l’extension C#

Page 4: 02 - [ASP.NET Core] ASP.NET Core MVC

1- IntroductionASP.NET Core MVC

Page 5: 02 - [ASP.NET Core] ASP.NET Core MVC

Historique – Pour rappel

• Pages asp

Asp Classic

• Page aspx• viewState

Asp.net Web Forms • Mvc version 1-

2-3-4-5• Projets mvc et

web API séparés

Asp.net MVC

• Mvc et web API et SignalR unifiés.

Asp.net core

Page 6: 02 - [ASP.NET Core] ASP.NET Core MVC

Le model MVC MVC c’est avant tout un patron de conception qu’on

retrouve essentiellement dans les couches de présentation applicative.

Il a été conçu pour la première fois dans les années 78-79.

Il aide à mieux structurer le code en séparant les notions de présentation pure à la notion de traitement de données.

MVC pour Model-View-Controller.

Page 7: 02 - [ASP.NET Core] ASP.NET Core MVC

Asp.Net Core ? C’est un nouveau framework refait de 0 avec pour maîtres

mots : Cross-platform (Windows, Mac, Linux) IoT apps & Mobile backends Orienté Cloud (mais également On-Premise) Applications moderns (Web Apps) Open source (le code est sur GitHub)

https://github.com/aspnet/home

Page 8: 02 - [ASP.NET Core] ASP.NET Core MVC

Asp.Net Core : avantages Web UI et Web APIs unifiés Intégration simplifiée des frameworks Front Cloud ready configuration Injection de dépendance intégrée en natif Pipeline Http leger et modulaire Hébergement sous IIS ou “selfHost” Gestion avancée du versioning applicative Cross plateforme Open source

Page 9: 02 - [ASP.NET Core] ASP.NET Core MVC

Asp.Net Core : Incovénients à date Framework Core pas complètement prêt

Packages pas à jour Tooling incomplet

Page 10: 02 - [ASP.NET Core] ASP.NET Core MVC

ASP.NET Core – vue macro

ASP.NET Core 1Framework unifié pour MVC, Web API et SignalR

.NET Framework 4.6Framework .net

compatible avec les anciennes librairies

.NET CoreRuntime allégé et optimisé

pour les serveurs et le cloud

Page 11: 02 - [ASP.NET Core] ASP.NET Core MVC

ASP.NET MVC Core

Page 12: 02 - [ASP.NET Core] ASP.NET Core MVC

Nouveau template ASP.NET MVC Core

Page 13: 02 - [ASP.NET Core] ASP.NET Core MVC

Fondamentaux

Page 14: 02 - [ASP.NET Core] ASP.NET Core MVC

Ce qui est (vraiment) nouveau

Séparation complète avec IIS

Prise en charge des requêtes entrantes plus clair

Page 15: 02 - [ASP.NET Core] ASP.NET Core MVC

Démos

Application Console

Page 16: 02 - [ASP.NET Core] ASP.NET Core MVC

Kestrel

Léger Performant Multiplateforme

Manque de fonctionnalité

Page 17: 02 - [ASP.NET Core] ASP.NET Core MVC

WebListener

Plus de fonctionnalités que Kestrel

Moins performant Uniquement sur Windows

Page 18: 02 - [ASP.NET Core] ASP.NET Core MVC

Et IIS ??? N’est plus qu’un reverse proxy … mais bien intégré

Page 19: 02 - [ASP.NET Core] ASP.NET Core MVC

Pipeline & Middelware

Page 20: 02 - [ASP.NET Core] ASP.NET Core MVC

Pipeline simple

Page 21: 02 - [ASP.NET Core] ASP.NET Core MVC

Arbre du pipeline

Map : branche par chemin

MapWhen : branche par predicat

Run : feuille

Page 22: 02 - [ASP.NET Core] ASP.NET Core MVC

Exemple de branches

Page 23: 02 - [ASP.NET Core] ASP.NET Core MVC

Quand l’utiliser ?

Logging Authentification Gestion d’erreur Compression des réponses http …

Page 24: 02 - [ASP.NET Core] ASP.NET Core MVC

Démos

Custome Middelware

Page 25: 02 - [ASP.NET Core] ASP.NET Core MVC

Injection de dépendances

AddTransient : 1 instance par besoin

AddSingleton : 1 instance pour l’application

AddScoped : 1 instance par requête

Page 26: 02 - [ASP.NET Core] ASP.NET Core MVC

Pas besoin de réinventer la roue

UseCor

s

UseMvc

UseExceptionHandler

UseResponseCompression

UseCookieAuthentication

UseStaticFiles

UseGoogleAuthentication

UseDeveloperExceptionPage

UseSignalR

UseWebSockets

UseRouter

UseBrowserLinkUseMicrosoftAccountAuthentication

UseTwitterAuthentication

UseResponseCaching

UseDirectoryBrowserUseForwardedHeaders

UseClaimsTransformation

UsePath

Base

UseRewriter

UseCor

s

UseMvc

UseExceptionHandler

UseResponseCompression

UseCookieAuthentication

UseStaticFiles

UseGoogleAuthentication

UseDeveloperExceptionPage

UseSignalR

UseWebSockets

UseRouter

UseBrowserLinkUseMicrosoftAccountAuthentication

UseTwitterAuthentication

UseResponseCaching

UseDirectoryBrowserUseForwardedHeaders

UseClaimsTransformation

UsePath

Base

UseRewriter

Page 27: 02 - [ASP.NET Core] ASP.NET Core MVC

ASP.NET Core MVC : Front EndNouveautés Front MVC

Page 28: 02 - [ASP.NET Core] ASP.NET Core MVC

Web Root (wwwroot) Il s’agit d’un repertoire dédié par convention aux fichiers

statiques de l’application web. Le nom du repertoire est communement nommé : webroot On y trouve par exemple

Les fichiers JS Les fichiers CSS Les images utilisées par le sites Les fonts Web

Page 29: 02 - [ASP.NET Core] ASP.NET Core MVC

Bundling & minifying

bundleconfig.json

Page 30: 02 - [ASP.NET Core] ASP.NET Core MVC

Bundling & minifying : commandes Commandes

dotnet bundledotnet bundle cleandotnet bundle watch

Page 31: 02 - [ASP.NET Core] ASP.NET Core MVC

Bower

Page 32: 02 - [ASP.NET Core] ASP.NET Core MVC

_ViewImports.cshtml

• Référence les namespaces dans les vues• Injecte des services dans les vues• Ajouter des TagHelpers dans les vues

Page 33: 02 - [ASP.NET Core] ASP.NET Core MVC

Tag Helpers

Génération d’html coté serveur comme on le faisait avec les HtmlHelpers. Ne pas dénaturer le html de vos vues en introduisant moins de C# dans

vos fichier cshtml.

@Html.ActionLink("Register", "Register", "Account")<a asp-controller="Account" asp-action="Register">Register</a>

Page 34: 02 - [ASP.NET Core] ASP.NET Core MVC

<modal id="modalSearchEngine"  title="Moteur de recherche"> <modal-body> <h4>Coming soon</h4> </modal-body> <modal-footer> <input type="button" value="Valider" /> </modal-footer></modal>

Tag Helpers<div class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-body"> <h4>Coming soon</h4> </div> <div class="modal-footer"> <input type="button" value="Valider" /> </div> </div> </div></div> devient

Page 35: 02 - [ASP.NET Core] ASP.NET Core MVC

ViewComponents

Remplace ChildAction A mis chemin entre le Controller / PartialView

Page 36: 02 - [ASP.NET Core] ASP.NET Core MVC

Liens https://www.asp.net/core https://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


Recommended