/ / Asp .net файлів-спостерігач різке поведінка - c #, asp.net

Asp.net файловий доглядач крутої поведінки - c #, asp.net

Я використав файлове спостереження, щоб стежити за папкою для створення файлів, мій код нижче: -

 _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;

----------------------- Подія нижче ----------------------

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

Моє запитання: я отримую 3 файли одночасно, і лише 1 з 3 файлів вставляється в базу даних, що означає, що файл watcher випустив подія тільки для 1 файлу, навіть якщо у мене 3 файли створені.

Будь-яка допомога оцінена тут.

Відповіді:

0 для відповіді № 1

Ви ігноруєте FileSystemEventArgs під час виклику InsertFileToDatabase. Я підозрюю, що в цьому методі може бути помилка в логіці.

Аргументи події несуть повний шлях до нового файлу, а також інформацію про те, які зміни на ньому відбулися. Я пропоную вам покладатися на цей об'єкт, а не на спеціальну логіку.

це означає, що файловий спостерігач випустив подія лише для 1 файлу, навіть якщо у мене є 3 файли.

Це лише непрямий висновок, і це може бути неправильним. Я пропоную вам перевірити обробник подій і відстежувати повний шлях і змінити тип з аргументів подій, і це приведе вас до рішення.