Event Tracing for Windows (ETW) et .NET Core Event Tracing for Windows est un framework pour gérer les traces de diagnostic sur Windows Il est mature depuis de nombreuses années et est intimement lié au système d’exploitation. Il est supporté depuis longtemps sur le framework .NET (à des niveaux d’évolution différents au fil de ses […]
SQL Server avec Docker sur Windows
Cet article est une introduction à Docker sur Windows et présente comment mettre en oeuvre SQL Server dans un container docker à des fins de tests et développement. SQL Server est relativement lourd à installer « à l’ancienne », c’est donc un bon exemple pour illustrer l’intérêt de Docker. C’est ce que j’ai fait sur mon poste […]
Comment détecter la veille prolongée du système depuis un service Windows
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, […]