5 votes

Dois-je utiliser un seul nouveau service() ou plusieurs ?

J'ai créé un projet de service Windows. Et si vous créez un nouveau projet, vous obtenez quelque chose comme ceci :

ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] 
{ 
  new Service1() 
};
ServiceBase.Run(ServicesToRun);

Et maintenant je dois ajouter quelques fonctions et un timer à ma classe Service1() et ensuite tout va bien.

Supposons maintenant que mon service doive faire certaines choses comme : lire certains fichiers, supprimer certains dossiers, vérifier les connexions...

Et ils devraient tous fonctionner de manière asynchrone. Qu'est-ce qui est mieux maintenant ? Copier toutes les fonctions dans Service1() et ne rien changer ou créer pour chaque "truc" une nouvelle classe (Service1(), Service2(), ...) et les ajouter comme suit

ServicesToRun = new ServiceBase[] 
{ 
  new Service1(),
  new Service2() //not sure this will compile
};

Je demande juste. Peut-être n'ai-je pas compris à 100% le fonctionnement des services...

0voto

akton Points 8688

C'est peut-être un peu trop général pour la question, mais un service Windows doit exécuter une seule ou un groupe de fonctions connexes. En général, moins il y a de services, mieux c'est, mais dès qu'un service commence à faire plusieurs choses, il faut envisager de les séparer :

  1. Ils nécessitent des niveaux de sécurité différents. Par exemple, si certaines fonctions nécessitent un accès administrateur et d'autres non, envisagez de les diviser en différents services.
  2. Un utilisateur pourrait ou voudrait qu'une fonctionnalité fonctionne (c'est-à-dire un service) et pas l'autre. Par exemple, une certaine fonctionnalité peut dépendre d'un composant optionnel ou d'un composant qui peut ne pas être installé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X