Catégorie : .NET Core

ASP .NET Core MVC – Utilisation des objets ViewData / ViewBag / TempData

Introduction ASP .NET Core MVC propose différents objets permettant de communiquer des données entre les différents éléments d’une application. Volontairement cet article ne traite pas de la communication d’un Model / ViewModel du contrôleur à une vue. Ces objets sont les suivants : ViewData, ViewBag et TempData. Voici un schéma permettant de résumer leur rôle
Read More »

ASP .NET Core 6 / C# – Bloquer les attaques inter applications web avec les jetons d’anti-contrefaçon

Présentation La contrefaçon de requêtes inter applications Web, est une attaque dans laquelle une application Web malveillante tente d’influer sur les échanges entre un navigateur et une autre application Web. Comment est-ce possible ? Le client Web reçoit des vues avec des formulaires fournies par l’application Web et doit être autorisé à consommer les services qu’elle
Read More »

C# – Initialisation tardive des propriétés (lazy)

Présentation Afin d’améliorer les performances et la gestion de la mémoire lors de la création d’objets, il est parfois nécessaire d’initialiser certaines de leurs propriétés de manière tardive, c’est-à-dire au moment où nous souhaitons les utiliser. Par exemple, lors de l’instanciation de la classe Report, la collection d’objets de type Statistic est coûteuse en mémoire
Read More »

ASP .NET Core MVC – Libérer les ressources de manière asynchrone avec l’interface IDisposableAsync (C#)

Présentation Depuis la version 3.0 du Framework .NET Core, Microsoft propose l’interface IDisposableAsync. Nous allons voir comment utiliser cette interface sur les contrôleurs des applications ASP .NET Core MVC, afin de libérer des ressources de manière asynchrone. Mise en œuvre Voici un contrôleur implémentant l’interface IDisposableAsync : public class HomeController : Controller, IAsyncDisposable { private
Read More »

ASP .NET Core MVC – Inversion de contrôle et injection de dépendance

Introduction Certaines personnes pensent que l’inversion de contrôle et l’injection de dépendance sont « similaires » dans le sens où l’injection de dépendance est l’implémentation de l’inversion de contrôle. Ceci est vrai mais un peu réducteur. Dans cet article, je vais présenter et définir ces deux concepts de la manière la plus simple possible. L’inversion
Read More »

ASP .NET Core MVC – Mesurer la durée d’exécution des requêtes HTTP

Présentation Dans ASP .NET Core MVC, les middlewares sont des composants permettant d’exécuter du code lors du traitement d’une requête et/ou la réponse HTTP. Dans cet article, je vous propose d’implémenter un middleware personnalisé, dont le rôle est de mesurer les durées d’exécution des requêtes HTTP nécessitant l’exécution d’une action dans un contrôleur. Mise en
Read More »

ASP .NET Core MVC – Tracer des logs dans un fichier

Présentation Enregistrer des traces lors du traitement des requêtes HTTP permet d’obtenir des informations sur le comportement de l’application Web, sur ses performances, et d’autres utiles pour le débogage de ses fonctionnalités. Dans cet article, je vous propose d’utiliser le composant Serilog afin de créer des fichiers de logs. Fonctionnement Il existe différents niveaux de
Read More »

ASP .NET Core MVC – Sécuriser vos services REST avec JWT

Introduction Dans les applications ASP .NET Core MVC, Web API permet de créer des services REST, permettant à des applications distantes d’accéder et de gérer des données. Avant de déployer ces services, il est nécessaire de les sécuriser afin que seuls les utilisateurs autorisés puissent y accéder. JWT (JSON Web Tokens) est une solution permettant
Read More »