SlideShare una empresa de Scribd logo
1 de 11
AlgoWin - James RAVAILLE
http://www.algowin.fr
ASP .NET MVC Core 2
Obtenir les valeurs des
paramètres de fichiers de
configuration dans les vues
Spécialiste de la formation et de l’ingénierie avec la plateforme Microsoft .NET
AlgoWin - James RAVAILLE
PRÉSENTATION
ASP .NET Core propose un ensemble de composants de configuration
qui fournissent un ensemble de paramètres sous la forme clé / valeur
Cet ensemble de données est déterminé lors du démarrage de
l’application Web
Différents formats de données sont pris en charge, avec pour chacun
d’entre eux un fournisseur de données spécifique :
• Fichiers Json, Xml
• Arguments de ligne de commande
• Variables d'environnement
• Objets .NET en mémoire
• …
AlgoWin - James RAVAILLE
SCÉNARIOS
Deux scénarios vous permettent d’accéder aux valeurs des paramètres
de configuration dans les vues :
Avec les classes d’accès et de gestion des
configurations proposées par ASP .NET MVC Core
Avec les classes de mapping permettant d’accéder
aux valeurs des paramètres
Les identifiants des paramètres sont écrits sous
forme de chaînes de caractères
(non fortement typés ; pas de refactoring possible)
Les identifiants des paramètres sont écrits sous
forme de membres d’instance
(fortement typés ; refactoring possible)
1 2
AlgoWin - James RAVAILLE
PRÉSENTATION D’UN FICHIER DE CONFIGURATION
A la racine du projet nous créons (ou modifions s’il existe déjà) le
fichier de configuration nommé appSettings.json pour écrire le
contenu suivant :
"Formation": "ASP .NET Core",
"Formateurs": {
"Principal": "James RAVAILLE"
},
"Plan": [
{
"Libelle": "Les contrôleurs",
"CoefDuree": "0.75"
},
{
"Libelle": "Les vues",
"CoefDuree": "1.5"
}
]
AlgoWin - James RAVAILLE
SCÉNARIO 1 : CONFIGURATION DES VUES
Modifier le fichier _ViewImports.cshtml, afin d’importer dans toutes
les vues l’espace de nom Microsoft.Extensions.Configuration
Ainsi l’ensemble des types de données contenus dans cet espace de
nom, seront utilisables dans les vues de l’application
@using Microsoft.Extensions.Configuration
AlgoWin - James RAVAILLE
SCÉNARIO 1 : LECTURE DE LA VALEUR DES PARAMÈTRES DANS LA VUE
@inject IConfiguration Configuration
Libellé : @Configuration["Formation"]
<br />
Formateur : @Configuration["Formateurs:Principal"]
<br />
Chapitres :
<br />
<ul>
<li>@Configuration["Plan:0:Libelle"] (@Configuration["Plan:0:CoefDuree"] j)</li>
<li>@Configuration["Plan:1:Libelle"] (@Configuration["Plan:1:CoefDuree"] j)</li>
</ul>
Accès à la valeur du paramètre Formation
Accès à la valeur du paramètre Principal,
contenu dans l’élément Formateurs
Affichage des libellés et des coefficients de durée de chaque module de la formation,
contenu dans l’élément Plan. La valeur de l’indice du premier élément est 0
Injection de l’élément de configuration (injection de dépendance)
AlgoWin - James RAVAILLE
SCÉNARIO 1 : RÉSULTAT
AlgoWin - James RAVAILLE
SCÉNARIO 2 : IMPLÉMENTATION D’UNE CLASSE DE PARAMÈTRES
Dans le répertoire Model de l’application, créer une classe nommée
Parametres, contenant l’implémentation des classes suivantes :
public class Parametres
{
public string Formation { get; set; }
public Formateurs Formateurs { get; set; }
public List<ModulePlan> Plan { get; set; }
}
public class Formateurs
{
public string Principal { get; set; }
}
public class ModulePlan
{
public string Libelle { get; set; }
public string CoefDuree { get; set; }
}
Les noms des propriétés sont identiques aux noms
des éléments dans le fichier de configuration
AlgoWin - James RAVAILLE
SCÉNARIO 2 : DÉCLARATION DE L’INJECTION DE DÉPENDANCE
Dans la classe Startup :
public void ConfigureServices(IServiceCollection services)
{
services.Configure<Parametres>(Configuration);
// Instructions supplémentaires
}
Configuration du service permettant d’accéder aux
valeurs des paramètres
AlgoWin - James RAVAILLE
SCÉNARIO 2 : CONFIGURATION DES VUES
Modifier le fichier _ViewImports.cshtml, afin d’importer dans toutes
les vues, l’espace de nom Microsoft.Extensions.Options
Ainsi l’ensemble des types de données contenus dans cet espace de
nom, seront utilisables dans les vues de l’application
@using Microsoft.Extensions.Options
AlgoWin - James RAVAILLE
SCÉNARIO 2 : LECTURE DE LA VALEUR DES PARAMÈTRES DANS LA VUE
@inject IOptions<Parametres> Parametres
Libellé : @Parametres.Value.Formation
<br />
Formateur : @Parametres.Value.Formateurs.Principal
<br />
Chapitres :
<br />
<ul>
<li>@Parametres.Value.Plan[0].Libelle (@Parametres.Value.Plan[0].CoefDuree j)</li>
<li>@Parametres.Value.Plan[1].Libelle (@Parametres.Value.Plan[1].CoefDuree j)</li>
</ul>
Lecture de la valeur du paramètre dont l’identifiant est
Formation dans la configuration de l’application
Injection d’une dépendance dans une vue
Accès à la valeur du paramètre Principal,
contenu dans l’élément Formateurs
Affichage des libellés et des coefficients de durée de chaque module de la formation,
contenu dans l’élément Plan. La valeur de l’indice du premier élément est 0

Más contenido relacionado

Último

Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Último (19)

CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 

Destacado

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

ASP .NET MVC Core 2 - Obtenir les valeurs des paramètres de fichiers de configuration dans les vues

  • 1. AlgoWin - James RAVAILLE http://www.algowin.fr ASP .NET MVC Core 2 Obtenir les valeurs des paramètres de fichiers de configuration dans les vues Spécialiste de la formation et de l’ingénierie avec la plateforme Microsoft .NET
  • 2. AlgoWin - James RAVAILLE PRÉSENTATION ASP .NET Core propose un ensemble de composants de configuration qui fournissent un ensemble de paramètres sous la forme clé / valeur Cet ensemble de données est déterminé lors du démarrage de l’application Web Différents formats de données sont pris en charge, avec pour chacun d’entre eux un fournisseur de données spécifique : • Fichiers Json, Xml • Arguments de ligne de commande • Variables d'environnement • Objets .NET en mémoire • …
  • 3. AlgoWin - James RAVAILLE SCÉNARIOS Deux scénarios vous permettent d’accéder aux valeurs des paramètres de configuration dans les vues : Avec les classes d’accès et de gestion des configurations proposées par ASP .NET MVC Core Avec les classes de mapping permettant d’accéder aux valeurs des paramètres Les identifiants des paramètres sont écrits sous forme de chaînes de caractères (non fortement typés ; pas de refactoring possible) Les identifiants des paramètres sont écrits sous forme de membres d’instance (fortement typés ; refactoring possible) 1 2
  • 4. AlgoWin - James RAVAILLE PRÉSENTATION D’UN FICHIER DE CONFIGURATION A la racine du projet nous créons (ou modifions s’il existe déjà) le fichier de configuration nommé appSettings.json pour écrire le contenu suivant : "Formation": "ASP .NET Core", "Formateurs": { "Principal": "James RAVAILLE" }, "Plan": [ { "Libelle": "Les contrôleurs", "CoefDuree": "0.75" }, { "Libelle": "Les vues", "CoefDuree": "1.5" } ]
  • 5. AlgoWin - James RAVAILLE SCÉNARIO 1 : CONFIGURATION DES VUES Modifier le fichier _ViewImports.cshtml, afin d’importer dans toutes les vues l’espace de nom Microsoft.Extensions.Configuration Ainsi l’ensemble des types de données contenus dans cet espace de nom, seront utilisables dans les vues de l’application @using Microsoft.Extensions.Configuration
  • 6. AlgoWin - James RAVAILLE SCÉNARIO 1 : LECTURE DE LA VALEUR DES PARAMÈTRES DANS LA VUE @inject IConfiguration Configuration Libellé : @Configuration["Formation"] <br /> Formateur : @Configuration["Formateurs:Principal"] <br /> Chapitres : <br /> <ul> <li>@Configuration["Plan:0:Libelle"] (@Configuration["Plan:0:CoefDuree"] j)</li> <li>@Configuration["Plan:1:Libelle"] (@Configuration["Plan:1:CoefDuree"] j)</li> </ul> Accès à la valeur du paramètre Formation Accès à la valeur du paramètre Principal, contenu dans l’élément Formateurs Affichage des libellés et des coefficients de durée de chaque module de la formation, contenu dans l’élément Plan. La valeur de l’indice du premier élément est 0 Injection de l’élément de configuration (injection de dépendance)
  • 7. AlgoWin - James RAVAILLE SCÉNARIO 1 : RÉSULTAT
  • 8. AlgoWin - James RAVAILLE SCÉNARIO 2 : IMPLÉMENTATION D’UNE CLASSE DE PARAMÈTRES Dans le répertoire Model de l’application, créer une classe nommée Parametres, contenant l’implémentation des classes suivantes : public class Parametres { public string Formation { get; set; } public Formateurs Formateurs { get; set; } public List<ModulePlan> Plan { get; set; } } public class Formateurs { public string Principal { get; set; } } public class ModulePlan { public string Libelle { get; set; } public string CoefDuree { get; set; } } Les noms des propriétés sont identiques aux noms des éléments dans le fichier de configuration
  • 9. AlgoWin - James RAVAILLE SCÉNARIO 2 : DÉCLARATION DE L’INJECTION DE DÉPENDANCE Dans la classe Startup : public void ConfigureServices(IServiceCollection services) { services.Configure<Parametres>(Configuration); // Instructions supplémentaires } Configuration du service permettant d’accéder aux valeurs des paramètres
  • 10. AlgoWin - James RAVAILLE SCÉNARIO 2 : CONFIGURATION DES VUES Modifier le fichier _ViewImports.cshtml, afin d’importer dans toutes les vues, l’espace de nom Microsoft.Extensions.Options Ainsi l’ensemble des types de données contenus dans cet espace de nom, seront utilisables dans les vues de l’application @using Microsoft.Extensions.Options
  • 11. AlgoWin - James RAVAILLE SCÉNARIO 2 : LECTURE DE LA VALEUR DES PARAMÈTRES DANS LA VUE @inject IOptions<Parametres> Parametres Libellé : @Parametres.Value.Formation <br /> Formateur : @Parametres.Value.Formateurs.Principal <br /> Chapitres : <br /> <ul> <li>@Parametres.Value.Plan[0].Libelle (@Parametres.Value.Plan[0].CoefDuree j)</li> <li>@Parametres.Value.Plan[1].Libelle (@Parametres.Value.Plan[1].CoefDuree j)</li> </ul> Lecture de la valeur du paramètre dont l’identifiant est Formation dans la configuration de l’application Injection d’une dépendance dans une vue Accès à la valeur du paramètre Principal, contenu dans l’élément Formateurs Affichage des libellés et des coefficients de durée de chaque module de la formation, contenu dans l’élément Plan. La valeur de l’indice du premier élément est 0