1

J'ai écrit des services Windows pendant un moment et ils semblent toujours fonctionner correctement pour les tâches qui doivent être exécutées tous les jours, quelques fois par semaine, une fois par mois, etc. mais je pensais récemment à Windows Fondation de flux de travail.quoi utiliser pour les tâches répétitives (quotidiennes, hebdomadaires, mensuelles)? Workflows, Windows Services, autre chose?

Cependant, je ne sais pas comment ils fonctionneraient sur un serveur sans une application de conteneur (par exemple SharePoint)? J'ai travaillé avec des workflows Sharepoint auparavant et j'ai toujours eu de gros problèmes, d'abord avec les bugs dans l'implémentation de l'architecture workflows (les problèmes de sommeil et de retard) et plus tard quand ils ont commencé à fonctionner, ils étaient difficiles à gérer. D'autre part, les services Windows étaient toujours assez faciles à mettre en œuvre, faciles à créer et à installer, et ils étaient toujours très résistants (ils travaillaient souvent pendant des mois sans se bloquer ou quoi que ce soit d'autre).

Que recommandez-vous? S'il vous plaît gardez à l'esprit que nous travaillons en .NET (la version n'est pas un problème, si la version 4.0 apporte quelque chose de nouveau sur ce sujet, nous pouvons l'utiliser).

Répondre

0

Nous choisissons souvent d'utiliser un service Windows. Pour les tâches récurrentes et planifiées, nous utilisons la bibliothèque Quartz.Net. Lorsque ces tâches sont de longues opérations de blocage, nous incorporons également la bibliothèque SmartThreadPool. Nous laissons Quartz créer un travail et le coller dans le SmartThreadPool pour l'exécution (parce que nous avons rencontré des problèmes de déclencheurs avec des jobs longs dans Quartz, et aussi parce que nous voulons parfois séparer différents types de jobs dans différents pools de threads).

+0

merci pour les références à Quartz.Net et SmartThreadPool. C'était quelque chose que je cherchais. – mare

+0

avez-vous un exemple de/blog sur l'utilisation de SmartThreadPool avec Quartz.NET? –

+0

Non, malheureusement pas. J'espère un jour (je trouve que j'ai beaucoup de choses sur le blog). Mais ce n'est pas quelque chose d'extraordinaire. Je fais simplement des jobs Quartz qui ne font que planifier le "vrai" travail dans le pool de threads. J'enveloppe les choses dans des interfaces spécifiques à l'application et autres joyeusetés, mais la viande est comme je l'ai dit pour que le travail de Quartz ne fasse rien de plus que planifier le "vrai" travail ailleurs. SmartThreadPool est terriblement simple, aussi, plus que Quartz. –

4

Avez-vous regardé dans les tâches planifiées de Windows? Ce n'est pas nouveau, mais cela vous permet de construire une application qui peut être exécutée à des dates/heures spécifiques. Le planificateur fournit beaucoup de personnalisation similaire aux services Windows. MSDN Article

+1

C'est ce que j'utilise depuis qu'il s'occupe de la planification pour vous. – David

+0

Merci pour la suggestion. – mare

+0

Le planificateur a gagné la majeure partie de sa configurabilité après Windows XP/Server 2003, donc cette méthode est considérablement plus efficace sur Vista/7 et Server 2008/R2. –

Questions connexes