Appeler des DLL natives à partir de .NET

Parfois quand on veut effectuer un traitement particulier, utiliser un middleware propriétaire ou simplement utiliser une bibliothèque tiers, on ne dispose pas forcément d’assembly .NET permettant d’effectuer ce traitement et il peut être nécessaire d’effectuer des appels à une bibliothèque codée en C++. Cette bibliothèque native peut être livrée sous forme d’une bibliothèque statique (fichier…

Continuer à lire

Les middlewares dans une application ASP.NET Core

Les middlewares correspondent à des portions de code qui peuvent être exécutées lorsqu’une requête HTTP est reçue par une application ASP.NET Core. Ces portions de code sont exécutées successivement. Lorsqu’un middleware écrit une réponse correspondant à la requête, les middlewares suivants ne sont plus exécutés. Le terme middleware était déjà utilisé avec Owin et ASP.NET…

Continuer à lire

L’injection de dépendances dans une application ASP.NET Core

Contrairement à ASP.NET MVC, ASP.NET Core possède nativement un container d’injection de dépendances. Ce pattern est particulièrement utile pour facilement architecturer une application. Le but de cet article est, d’abord, de montrer comment configurer l’injection de dépendances dans une application ASP.NET Core avec le container natif. Il est possible de remplacer ce container natif par…

Continuer à lire

Documenter une API Web ASP.NET Core avec Swagger

Cet article est un aide-mémoire concernant les fonctions principales de Swagger UI. La documentation complête se trouve sur le repository GitHub du package Swashbuckle.AspNetCore qui est le package NuGet permettant d’installer Swagger sur une application ASP.NET Core. Swagger est un outil permettant de documenter un API Web en présentant les différentes fonctions sous forme d’une…

Continuer à lire

Le routage en ASP.NET Core en 5 min

Quand on utilise la technologie ASP.NET Core pour implémenter une application web, il est possible d’utiliser le middleware et le pattern MVC (i.e. Model-View-Controler) pour organiser les classes qui répondront aux différentes requêtes HTTP. ASP.NET Core permet de router les requêtes vers les bonnes instances d’objets à condition que le “routage” soir configuré. Dans le…

Continuer à lire

Implémentation d’un Timer avec TPL

Dans cet article, on cherche à proposer une implémentation d’un Timer en utilisant TPL (i.e. Task Parallel Library). Il existe une classe qui permet d’effectuer un traitement de façon périodique: System.Threading.Timer. Cette classe n’est pas très moderne puisqu’elle existe depuis les premières versions du Framework. Elle permet d’effectuer correctement un traitement périodique toutefois elle souffre…

Continuer à lire

Performance Monitor en 10 min

Performance Monitor (appelé aussi perfmon) est un outil de monitoring et d’alerte présent sur les plateformes Windows. Il permet de facilement observer des métriques concernant un processus spécifique ou les caractéristiques d’une machine. La plupart de temps, les développeurs oublient d’utiliser un outil comme celui-ci pour évaluer le comportement de leur application au cours du…

Continuer à lire

Comment configurer un projet multi-target dans Visual Studio 2017 ?

Il existe une fonctionnalité dans Visual Studio 2017 qui n’est pas évidente à repérer et qui consiste à avoir plusieurs frameworks cibles pour un projet donné. Traditionnellement dans Visual Studio, on crée un projet pour un framework donné, or depuis la multiplication récente des cibles de compilation (.NET Standard ou .NET Core), il peut être…

Continuer à lire