2009-05-09 3 views
0

Je construis un petit service Windows (pas un service Web) qui vérifie périodiquement certaines données et basé sur cela et appelle une bibliothèque de classes pour faire un peu de travailmeilleures pratiques lors de la création de tests et du déploiement de services Windows?

BTW: c'est la première fois que j'essaie de créer une fenêtre service

+0

Question vague. Quelles sont les meilleures pratiques que vous voulez, exactement? Quel genre de conseil recherchez-vous? – Rob

+0

comment créer des tests et déployer des services Windows :) –

Répondre

5

Les services Windows sont par définition difficiles à tester car vous devez toujours les installer et les désinstaller à chaque fois que vous modifiez quelque chose.

Il est préférable de découpler BL que vous écrivez pour le service et placez-le dans une classe distincte. Après cela, vous pouvez écrire une application de bureau win simple où vous utiliserez et testerez cette classe BL. Après avoir terminé les tests, il est facile d'inclure la même logique dans un projet de service Windows. Pour le débogage du service Windows, vous devez attacher au processus et après cela, il est très facile de tester le code directement. Nous espérons que cela aidera ...

+0

vraiment utile ty –

+2

Ce n'est pas le cas. Vous pouvez créer une classe qui hérite de votre service et expose les fonctionnalités du service à tester. Cette classe (que j'appelle généralement l'hôte) peut exposer les méthodes protégées OnStart, OnStop, etc. de votre service en tant que méthodes publiques (il suffit de créer une méthode publique distribuée à la méthode de la classe de base protégée). Ensuite, vous pouvez créer un formulaire qui conduit votre classe Host pour tester votre service. La seule complexité est que app.conig de votre formulaire doit avoir les paramètres de configuration que votre service recherche. –

+1

On entendait par découplage que seul BL est extrait dans une classe séparée. Déboguer et tester uniquement la mécanique du service Windows lui-même n'était pas mon problème ici. Une autre chose, se connecter au journal des événements est également une technique très utile pour la collecte de données sur le comportement du service Windows. – zidane

Questions connexes