2011-07-14 3 views
1

J'ai écrit un service Windows qui réside sur un serveur Windows 2008. J'ai également développé une application Winforms C# séparée que j'aimerais utiliser pour configurer une tâche pour le service afin de planifier son exécution. L'application winforms est une interface utilisateur de formulaire avec des entrées de programmation de base telles que le jour de la semaine, l'heure du jour, etc. Je voudrais que l'utilisateur choisisse les entrées et les enregistre comme une tâche qui ordonnera le déroulement de ma victoire un service.Ajouter et modifier des tâches planifiées via l'application winform C#

Existe-t-il un moyen d'ajouter/modifier une tâche planifiée Windows via C# winform sans utiliser de modules complémentaires tiers?

+0

S'il s'agit d'un réel [Service Windows] (http://msdn.microsoft.com/en-us/library/y817hyb6 (v = VS.80) .aspx) et qu'il est enregistré sur votre hôte de service, vous pouvez envoyer des commandes telles que 'pause', 'stop', 'resume' et 'start' pour contrôler le service. En utilisant l'espace de noms 'System.ServiceProcess'. – Tocco

+0

Votre service s'arrête-t-il lorsqu'il est en cours d'exécution? Est-ce que ça commence automatiquement? –

Répondre

1

Vous pouvez également écrire le service pour toujours être en cours d'exécution et faire référence à une table de base de données pour savoir quand il doit être exécuté. Le service vérifie simplement quand il est autorisé à fonctionner. Votre application WinForm pourrait simplement mettre à jour la table de la base de données. Assez simple vraiment. Bien sûr, vous pourriez le rendre infiniment plus complexe, mais, pour ce que vous décrivez semble relativement simple.

+0

J'ai un fichier de configuration, je peux stocker les données de planification in. Mais le service ne devrait-il pas constamment vérifier la configuration pour voir s'il est temps de fonctionner ou non? – Blaze

+0

Bien sûr, il pourrait également être sauvegardé par un fichier de configuration. Tout dépend vraiment de votre application. –

1

Je ne pense pas qu'il existe un moyen d'utiliser du code purement géré, mais si vous ajoutez une référence au TASK Scheduler COM Library, vous devriez être capable de le faire. (Références ... Ajouter une référence ... Objets COM)

+0

Ou peut-être, en utilisant [schtasks.exe] (http://msdn.microsoft.com/en-us/library/bb736357 (v = VS.85) .aspx) – Tocco

Questions connexes