Manière plus facile de déboguer un service Windows
Si je veux déboguer rapidement le service, j’insère simplement un Debugger.Break() dedans. Quand cette ligne est atteinte, cela me ramène dans VS. N’oubliez pas de retirer cette ligne quand vous avez terminé.
MISE À JOUR : Comme alternative aux pragmas #if DEBUG, vous pouvez aussi utiliser l’attribut Conditional("DEBUG_SERVICE").
[Conditional("DEBUG_SERVICE")]
private static void DebugMode()
{
Debugger.Break();
}
Dans votre OnStart, appelez simplement cette méthode :
public override void OnStart()
{
DebugMode();
/* ... do the rest */
}
Là, le code ne sera activé que pendant les builds Debug. Pendant que vous y êtes, il pourrait être utile de créer une configuration de build séparée pour le débogage de service.