Je voudrais affirmer en utilisant _ASSERTE dans un code de service Windows backend. Mais si je comprends bien, le comportement par défaut va bloquer le service en raison de la boîte de message.Assertions dans les services Windows
Quelle est la meilleure façon d'effectuer des assertions en toute sécurité dans un service Windows?
Editer: J'aurais dû mentionner que le code devrait toujours utiliser le comportement normal, s'il est exécuté en mode console; par exemple lors d'un test unitaire.
Que voulez-vous que l'assertion fasse? C'est vraiment une solution spécifique au problème car certains services devraient échouer sur les assertions et certains devraient simplement enregistrer une erreur et certains devraient envoyer un courriel à la NASA et les alerter d'une invasion imminente de l'espace. –
Je suppose que l'envoi de courriels à la NASA ne va pas bien avec Assertions;). Parce que, comme vous le savez, il est utilisé lors du test de la version de débogage de l'application. Je voudrais obtenir le bénéfice de base d'un assert; être averti (avec quelque chose d'évident, c'est difficile à ignorer) quand ASSERT échoue. Parce qu'il n'y aura pas de boîte de message pour permettre Ignorer le message, ou breaking..etc. Je pense que peut-être une option dans un fichier de configuration va spécifier comment agir sur les assertions échouées; arrête le service, ou pas. Mais le plus important, comme je l'ai dit, j'aimerais savoir que quelque chose a mal tourné une fois que cela se produit. – haggag