IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

FileSystemWatcher figé, plus d'évènements générés


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut FileSystemWatcher figé, plus d'évènements générés
    Bonjour,

    Je travaille actuellement sur un petit logiciel de monitoring qui observe une arborescence de fichiers assez volumineuse située sur une autre machine que celle sur laquelle j'exécute mon logiciel.

    J'utilise le mécanisme du FileSystemWatcher avec inscription à tous les évènements existants :

    Changed
    Created
    Deleted
    Renamed

    Avec une activité restreinte tout marche parfaitement mais dès lors où on pousse les mouvements, création et suppressions de fichiers, le logiciel se fige au bout d'un moment et plus aucun évènements est générés.

    Je précise que le logiciel se fige après sortie d'un évènement donc ce n'est pas une boucle dans un évènement.

    Auriez-vous une idée de ce genre de problème? Serait-ce dû au réseau? Ou tout simplement à un bug du Framework .NET?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Tu peux essayer d'augmenter la taille du FileSystemWatcher.InternalBufferSize afin de ne pas manquer d'événement. Et il faut que tu restreignes au maximum le monitoring en utilisant la propriété NotifyFilter.
    Tu dois aussi limiter le traitement effectué dans les événements. Pour cela tu peux implémenter un système de file d'actions. Les événements inscrivent une nouvelle action à effectuer dans la liste et un autre thread se charge d'exécuter les actions contenues dans la file. De cette manière le FSW n'aura que très peu de travail lors du déclenchement d'un événement.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut
    Donc en gros, ce que tu me dis, c'est que mon FileSystemWatcher est saturé et qu'il n'arrive pas à suivre tous les traitements de mon systèmes de fichiers...

    Mais pourquoi se fige-t-il pour ne plus redémarrer?

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/02/2011, 01h16
  2. Réponses: 9
    Dernier message: 10/06/2007, 21h43
  3. Réponses: 3
    Dernier message: 18/05/2007, 15h26
  4. Réponses: 1
    Dernier message: 20/02/2007, 09h17
  5. Réponses: 1
    Dernier message: 23/08/2006, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo