Les événements de mise en veille prolongée (Sleep / Hibernate) peuvent s’avérer indispensables pour une application connectée, car les connexions vont être interrompues. Cet article présente deux approches: la première basée sur l’API standard SystemEvents, qui pose problème dans un service Windows; l’autre basée sur WMI qui fonctionnera dans tous les cas de figure (pour […]
Sécuriser des WebApi avec OAuth2 et Client Credentials?
J’ai déjà eu à implémenter des applications clientes compatibles OAuth (1 et 2), c’est-à-dire côté consommateur de ressources protégées, mais ce n’est que récemment que je me suis intéressé à la mise en place d’une solution de sécurité pour un ensemble d’applications. J’ai logiquement étudié ce qui se fait avec OAuth 2 et OpenID Connect […]
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 […]