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

Der*_*rek 3 c# filesystemwatcher argumentexception

背景信息:我正在使用服务中实现的FileSystemWatcher类来监视文件中的更改.下面是触发onCreate事件时抛出Argument Exception(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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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;
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

问题:任何人都可以告诉我为什么抛出异常以及如何解决它?

小智 7

几个星期前,当我做我的时候,我遇到了同样的问题.我发现你需要在设置其他任何东西之前设置路径.所以,在声明对象之后:

FileSystemWatcher watchfolder = new FileSystemWatcher();
watchfolder.Path = ConfigurationManager.AppSettings["MonitorPath"];
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读更多内容: 为Windows创建文件监视器服务

我希望这有帮助