/ / Comportement brutal de l'observateur de fichiers .net Asp - c #, asp.net

Comportement brusque de l'observateur de fichiers Asp .net - c #, asp.net

J'ai utilisé l'observateur de fichiers pour surveiller un dossier pour la création de fichiers, mon code est ci-dessous: -

 _watcher = new FileWatcher();
_watcher.Path = ConfigurationManager.AppSettings["LandingArea"];
_watcher.NotifyFilter =
NotifyFilters.CreationTime |
NotifyFilters.LastWrite |
NotifyFilters.FileName |
NotifyFilters.DirectoryName |
NotifyFilters.LastAccess;
_watcher.Filter = "*.xml";
_watcher.EnableRaisingEvents = true;
_watcher.Created += _watcher_Created;

----------------------- L'événement est inférieur ----------------------

  private void _watcher_Created(object sender, System.IO.FileSystemEventArgs e)
{
DataAccessLayer.InsertFileToDatabase();
}

Ma question est que je reçois 3 fichiers en même temps et que 1 seul des 3 fichiers est inséré dans la base de données.

Toute aide est appréciée ici.

Réponses:

0 pour la réponse № 1

Vous ignorez FileSystemEventArgs lorsque vous appelez InsertFileToDatabase. Je soupçonne qu'il pourrait y avoir un bug dans la logique à l'intérieur de cette méthode.

Les arguments d'événement transportent le chemin d'accès complet du nouveau fichier, ainsi que des informations sur le type de modification qui s'est produite. Je vous suggère de vous appuyer sur cet objet plutôt que sur une logique personnalisée.

Cela signifie que l'observateur de fichiers n'a déclenché l'événement que pour 1 fichier, même si 3 fichiers ont été créés.

Ceci n'est qu'une conclusion indirecte et cela pourrait être faux. Je vous suggère d'auditer le gestionnaire d'événements et de suivre le chemin d'accès complet et de modifier le type à partir des arguments d'événement, ce qui vous mènera à une solution.