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创建文件监视器服务
我希望这有帮助