Аргумент Исключение (путь не имеет юридической формы) - PullRequest
3 голосов
/ 19 августа 2011

Справочная информация: я использую класс FileSystemWatcher, реализованный в сервисе для отслеживания изменений в файлах.Вот раздел кода, который выдает исключение аргумента (путь не является допустимой формой), когда событие onCreate инициируется.

FileMonitor.CS

public partial class FileMonitor:ServiceBase
{
 public FileSystemWatcher Watcher = new FileSystemWatcher();

    Private void FileWatcher()
    {
    FileActionHandler ActionHandler = new FileActionHandler();
    Watcher.Created += new FileSystemEventHandler(ActionHandler.onCreate);
    Watcher.Deleted += new FileSystemEventHandler(ActionHandler.onDelete);
    Watcher.Renamed += new RenamedEventHandler(ActionHandler.onRenamed);
    Watcher.EnableRaisingEvents = true;
    }
}

FileActionHandler.CS

 class FileActionHandler
 {
  FileMonitor FileMon = new FileMonitor();
  public void onCreate/onRename/onDelete(object source, FileSystemEventArgs e)
    {
      try
      {
       FileMon.Watcher.EnableRaisingEvents = false;
      }
      catch
      {
       /* Exception Code */
      }
      finally
      {
       FileMon.Watcher.EnableRaisingEvents = true;
      }
    }
  }

Вопрос: Может кто-нибудь посоветовать мне, почему выбрасывается исключение и как я могу решить проблему?это?

1 Ответ

7 голосов
/ 26 августа 2011

Я столкнулся с той же проблемой, что и мою, несколько недель назад. Я обнаружил, что вам нужно установить путь, прежде чем устанавливать что-либо еще. Итак, сразу после объявления объекта:

FileSystemWatcher watchfolder = new FileSystemWatcher();
watchfolder.Path = ConfigurationManager.AppSettings["MonitorPath"];

Вы можете прочитать больше здесь: Создание службы наблюдения за файлами для windows

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...