Service C# - Attendre un event
Bonjour à tous,
Voilà je cherche à faire un truc qui semble bizarre puisqu'on trouve nul part sur le net.
J'ai un service windows développé en C# et je veux lui faire surveiller un répertoire. Dès qu'un fichier est déposé dans ce répertoire, le service devra lancer un traitement.
Voilà donc mon code de départ:
Code:
1 2 3 4
|
FileSystemWatcher WatchFiles = new FileSystemWatcher("MyFolderToWatch");
WatchFiles.Created += new FileSystemEventHandler(this.OnCreate_Files); |
Jusque là pas de problème, je constate en debug que je passe bien dans l'event de création, tout roule.
Mon problème c'est que je vais surveiller indéfiniment ce répertoire, sans rien faire, juste en attendant l'event. Et comment faire cette attente?
J'ai bien pensé à la boucle infini, mais le thread en boucle consomme du processeur inutilement.
J'ai pensé à faire dormir le thread (ce qui déclenche bien les events), mais bon... ça me parait pas hyper propre:
Code:
1 2 3 4 5 6
|
bool exec = true;
while (exec)
{
System.Threading.Thread.Sleep(100);
} |
Connaissez-vous un moyen de faire attendre à mon service l'évènement d'une meilleure manière?
Merci d'avance de votre aide :)