2010-02-17 8 views
4

Permettez-moi de préface en disant que je suis assez écologique pour le développement C# et .NET en général. Cela étant dit, je voudrais programmer une application console pour exécuter du code une fois toutes les 24 heures.Programmer une application de console en utilisant C#

Je suis ouvert à toute forme d'implémentation, y compris les minuteurs, les planificateurs, ou même une application distincte qui appelle mon application console, à condition qu'elle implique C#. Je sais que c'est une question ouverte, alors j'apprécie que quelqu'un prenne le temps de me diriger arbitrairement vers la bonne direction.

Répondre

6

Vous pouvez utiliser Windows Service pour cela. c'est mieux à bien des égards. Vous pouvez le faire redémarrer s'il tombe en panne et que le service Windows s'exécutera même si personne n'est connecté. Si vous voulez toujours une application console, vous pouvez utiliser le planificateur de tâches Windows et il fait du bon travail.

+0

Là où je travaille ce genre d'application est toujours fait dans un service Windows. –

+0

N'y a-t-il pas plus de frais généraux sur un service Windows, donc je pense à un projet publié publiquement pour le service, mais pour la vitesse de dev une application de console exécutant des tâches planifiées devrait facilement couvrir? – Coops

+0

Un service Windows est excessif juste pour déclencher une application toutes les 24 heures. C'est un concept tentant, mais il faut beaucoup plus pour créer et déboguer un service Windows et il n'y a pas de gain substantiel sur une tâche planifiée, en particulier pour quelque chose qui a juste besoin d'être exécuté une fois par jour. – kingdango

9

Généralement, il n'est pas nécessaire que le programme soit écrit pour se programmer lui-même, sauf s'il s'agit d'un démon effectuant une action très fréquemment. Cela ressemble à vouloir le Windows task scheduler.

2

Vérifiez Quartz.NET si vous souhaitez contrôler la planification dans une application .NET. Sinon, il est probablement plus facile de planifier votre exécution avec Windows Task Scheduler.

Questions connexes