/ / Asp.net file watcher comportamento brusco - c #, asp.net

Asp.net file watcher comportamento brusco - c #, asp.net

Ho usato il watcher di file per tenere d'occhio una cartella per la creazione di file, il mio codice è qui sotto: -

 _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'evento è sotto ----------------------

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

La mia domanda è che sto ottenendo 3 file allo stesso tempo e solo 1 dei 3 file è inserito nel database che significa che il watcher di file ha attivato l'evento solo per 1 file anche se ho 3 file creati.

Qualsiasi aiuto è apprezzato qui.

risposte:

0 per risposta № 1

Stai ignorando FileSystemEventArgs quando chiami InsertFileToDatabase. Sospetto che ci possa essere un bug nella logica all'interno di questo metodo.

Gli argomenti degli eventi stanno portando il percorso completo del nuovo file, oltre alle informazioni su quale tipo di cambiamento si è verificato su di esso. Ti suggerisco di fare affidamento su quell'oggetto, piuttosto che sulla logica personalizzata.

ciò significa che il watcher di file ha attivato l'evento solo per 1 file anche se ho creato 3 file.

Questa è solo una conclusione indiretta e potrebbe essere sbagliato. Ti suggerisco di controllare il gestore di eventi e tracciare il percorso completo e cambiare tipo dagli argomenti degli eventi, e questo ti porterà a una soluzione.