参数异常(Path不是合法形式)

本文关键字:异常 Path 参数 | 更新日期: 2023-09-27 18:06:09

背景信息:我正在使用在服务中实现的FileSystemWatcher类来监视文件中的更改。下面是当onCreate事件被触发时抛出参数异常(Path不是合法形式)的代码部分。

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

问题:谁能告诉我为什么会抛出异常,我该如何去解决它?

参数异常(Path不是合法形式)

我在几周前做我的工作时遇到了同样的问题。我发现,你需要先设定好道路,然后再设定其他事情。因此,在你声明对象之后:

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

你可以在这里阅读更多内容:为windows创建一个文件监视器服务

希望对大家有所帮助