ASP.NET 5 - DevLab.Alsace
Transcription
ASP.NET 5 - DevLab.Alsace
MVC C# / .Net / ASP.NET Core 1.0 Hervé PHILIPPE Promotion 2015-2016 http://DevLab.Alsace Plan Rappels Introduction Technologies intégrées Fichiers d’un projet Fichier Startup.cs Pattern MVC http://DevLab.Alsace Rappels - Historique Microsoft : ASP / ASP.NET • • • • 1996 2002 2009 2011 : ASP 1.0 (Active Server Page) : ASP.NET 1.0 : MVC 1.0 (Model View Controler) : Razor (+ MVC 3.0) • Web Pages = Fichiers .cshtml / .vbhtml • Syntaxe plus intuitive • 2016 : ASP.NET Core 1.0 Changement de nom : • ASP.NET 5 -> ASP.NET Core 1.0 • MVC 6 -> ASP.NET Core MVC • EF 7 -> Entity Framework Core (EF Core) http://DevLab.Alsace Rappels – ASP.NET http://DevLab.Alsace Rappels – ASP.NET http://DevLab.Alsace ASP.NET Core Introduction • Convention plutôt que Configuration • Conventions à respecter pour : Noms des dossiers Noms des classes Noms des fichiers Noms des méthodes • Les « attributs » du C# sont beaucoup utilisés • Les attributs (= annotations = décorateurs) servent à ajouter des métadonnées à toutes sortes de déclarations • Exemple d’attributs pour une propriété : [Required] [EmailAddress] [Display(Name = "Email")] public string Email { get; set; } • Documentation officielle http://www.asp.net/vnext/overview/aspnet-vnext http://DevLab.Alsace ASP.NET Core Technologies intégrées • MVC 6 (Model-View-Controller) Architecture logicielle d’une application ASP.NET (avant : possibilité de choisir une autre logique : « WebForms » basée sur les événements) • Web Pages 4 Pages HTML contenant du code .NET (C# ou VB.NET) • Entity Framework 6 Permettre d’accéder aux données • ASP.NET Identity 3 Gérer les authentifications des utilisateurs • WebAPI Faciliter la création des Web Services • SignalR 3 Simplifier la façon de créer des fonctionnalités temps-réel à un site web http://DevLab.Alsace ASP.NET Core Fichiers d’un projet Fichier basé sur C# Fichier basé sur VisualBasic.NET .cs -> fichier source .vb -> fichier source .cshtml -> fichier source « Web Pages » .vbhtml -> fichier source « Web Pages » Autres types de fichiers .json, .ini, .xml : fichiers de données (notamment pour la configuration) .aspx : fichier source « WebForms » (HTML avec code C# ou VB.NET) • Fichiers importants : • project.json : fichier de configuration générale du projet • appsettings.json : fichier de configuration optionnel • Startup.cs : point d’entrée de l’application http://DevLab.Alsace ASP.NET Core Fichier Startup.cs • Fichier « Startup.cs » : point d’entrée de l’application web Classe « Startup » utilisée à l’exécution • Constructeur (optionnel) par exemple pour lire les configurations • Méthode « Main » : public static void Main(string[] args) { WebApplication.Run<Startup>(args); } • Méthode « ConfigureServices » : • Configuration des services pouvant être utilisés par l’application web • Configuration des conteneurs pour des services (« Dependency Injection ») • Méthode « Configure » : Etapes de construction de la réponse à la requête HTTP http://DevLab.Alsace ASP.NET Core Fichier Startup.cs / Configure Etapes de construction de la réponse à la requête HTTP • L’ordre des instructions est très important • Principales instructions : • « app.UseStaticFiles(); » : Pour utiliser des fichiers statiques (HTML/CSS/JS) • « app.UseIdentity(); » Pour utiliser l’authentification des utilisateurs • « app.UseMvc » : Pour définir la « route » app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); http://DevLab.Alsace Utilisation par défaut de la classe « Home » Utilisation par défaut de la méthode « Index » Paramètre optionnel : « id » ASP.NET Core Pattern MVC • Pattern MVC = modèle d’architecture logicielle Plan de construction à suivre pour le développement (création et organisation des classes, des méthodes, des propriétés…) • Model Données et gestion des données de l’application • View Afficher les données • Controller • Gérer l’interaction avec l’utilisateur (requête/réponse du navigateur) • Donner à la vue, les données venant du modèle http://DevLab.Alsace