2009-11-03 12 views
4

Nous avons une application mvc asp.net avec laquelle nous aimerions intégrer un FileSystemWatcher. J'ai vu beaucoup de bons exemples sur la façon d'implémenter le FileSystemWatcher mais je ne sais pas vraiment où le mettre dans mon application. Il semble que cela devrait commencer avec l'application. Des idées?Où dois-je placer un FileSystemWatcher dans mon application mvc?

Répondre

4

Configurez-le dans votre Application_Start(). Un des meilleurs exemples serait de configurer log4net avec ConfigureAndWatch(), qui internally uses a FileSystemWatcher. Exemple:

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath("/log4net.config"))) 
1

Il est probablement préférable d'utiliser FileSystemWatcher en conjonction avec un service Windows si vous souhaitez surveiller les modifications apportées au système de fichiers. Un service Windows est en cours d'exécution, tandis que le code d'une application Web s'exécute uniquement en réponse à une requête HTTP.

Ce article peut être un bon point de départ.

+0

+1 Bonne réponse sur plusieurs niveaux. –

+2

Je ne sais pas pourquoi tant de gens ont upvoted ceci, c'est complètement faux. Les applications ASP.NET peuvent exécuter des threads d'arrière-plan sans aucun problème. Et ils peuvent répondre aux événements FileSystemWatcher sans qu'aucune requête ne déclenche le code. –

+0

@Mauricio: Je ne pense pas que vous pouvez dire que ma réponse est «fausse». J'ai présenté une solution réalisable à la question du PO. Je n'ai jamais dit que c'était la seule solution, il existe des alternatives, mais à mon humble avis cela représente la meilleure approche. – pmarflee