Auteur/autrice : James RAVAILLE
Travaillant avec la plateforme Microsoft .NET depuis 2002, j'alterne les missions de formation et d'ingénierie avec cette plateforme. J'écris ce blog pour transmettre mes connaissances à tout développeur, qu'il soit débutant ou expérimenté.
Dans une application ASP .NET Core MVC, le routage est un mécanisme permettant d’exécuter une action (une méthode) d’un contrôleur (d’une classe), à partir d’informations contenues dans une URL d’une requête HTTP. Voici une illustration :
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 »
J’aimerais faire des retours d’expérience concernant certaines techniques de développement avec le Framework .NET (Core) et le langage C#. Certaines d’entre elles peuvent être très utiles dans de nombreuses situations, mais trop les utiliser peuvent pénaliser les performances dans certains contextes : Les finaliseurs Le tas (espace de stockage mémoire des variables de type référence) est
Read More »
En parcourant du code sur un projet, j’ai observé que le développeur avait écrit les lignes de code suivantes : array.ToList().ForEach(item => { // Traitement ... }); où array est un tableau d’environ 50000 chaînes de caractères. Cette syntaxe consiste à « transformer » le tableau en collection, afin de pouvoir utiliser la méthode extension ForEach proposée par
Read More »
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 »
Avant ASP .NET Core 6 Avant ASP .NET Core 6, nous avions l’habitude de configurer les services dans la méthode ConfigureServices de la classe Startup, et les middlewares permettant de traiter les requêtes et réponses HTTP dans la méthode Configure de cette même classe. Cette classe était utilisée dans la classe Program pour indiquer à
Read More »
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 »
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 »
Avec le langage C#, lorsqu’une classe hérite d’une classe, il est possible de redéfinir une méthode ou une propriété dans la classe dérivée, si elle est déclarée abstraite ou virtuelle dans la classe de base. Cependant, jusqu’à la version 8, il n’est pas possible de modifier sa signature. La version 9 du langage C# renforce
Read More »
A partir de la version 8 du langage C#, il est possible de créer des flux asynchrones, autrement dit des méthodes qui retournent un ensemble de données / d’objets de manière asynchrone pouvant être consommées de manière asynchrone. Ces méthodes possèdent les caractéristiques suivantes : Elles sont déclarées avec le mot clé async Elles retournent
Read More »