Terminer proprement un programme console

Les programmes console ne sont pas morts: il est courant de permettre à un service Windows d’être lancé en mode console, et ASP.NET Core est initialement prévu pour être exécuté en mode console (en self host). Dans ce contexte, se pose rapidement le problème de terminer proprement le contexte d’exécution (libérer les ressources IDisposable, éventuellement […]

Calcul de hachage pendant la lecture d’un fichier

Le hachage (md5, sha1…) est très couramment utilisé en transmission de fichier, pour vérifier que les données n’ont pas été corrompues entre leur production et leur consommation. Si le poids du fichier est conséquent, il est préférable de calculer le hachage à la volée plutôt que de parcourir le fichier plusieurs fois (pour le hachage, […]

.NET en 2016

Comme premier article de 2016, j’ai décidé de décrire les évolutions qui ont lieu actuellement sur le framework .NET. Il ne s’agit pas d’un how-to, et je ne propose pas de nouvelles informations. Il y a beaucoup d’informations à recouper pour s’y retrouver dans la nouvelle trajectoire qu’a choisi Microsoft pour adapter son framework au […]

Service Windows avec démarrage asynchrone

Le numéro de novembre dernier de MSDN Magazine contient un article de Mark Sowul intitulé Asynchronous Programming – Async from the Start. Il y est expliqué de façon très pédagogique comment démarrer une application WinForms ou WPF de manière asynchrone sans écueil. Cela m’a donné l’idée d’appliquer exactement le même sujet sur un service Windows […]

DisposableOwnership<T>

Afin d’éviter une exclamation du type « tout ça pour ça ? », je tiens à avertir tout de suite que cet article ne présente rien de plus spectaculaire que cet objet : struct DisposableOwnership<T> where T : IDisposable { public readonly T Resource; public readonly bool IsOwned; public DisposableOwnership(T resource, bool isOwned) { Resource = resource; […]

Action Filter Attributes et IoC

Le titre de cet article pourrait aussi bien être « Attributs .NET et IoC » car le sujet de fond est l’injection de dépendances dans des attributs personnalisés. Je m’intéresse ici spécifiquement aux Action Filters MVC/WebApi dont le design oriente le développeur vers une voie qui n’est pas en parfaite cohérence, je le pense, avec l’objectif d’utilisation […]