0
有人可以解释我如何调试?如何调试FileSystemWatcher c#
我已经构建了一个监视文件夹的Windows服务,并且在该文件夹中创建文件时,它将该新创建的文件移动到另一个文件夹。非常简单和有效。我现在试图用功能来填充它,并且我开始在事件查看器中引入泛型IOExpections,所以我想尝试和调试。但是我遇到的问题是在调试过程中何时在目录中创建新文件。
这是到目前为止我的代码
我应该停止在该行通过加强过程中,把我的新文件中的目录,然后继续调试,使其拿起创建的文件?
public void OnDebug()
{
OnStart(null);
}
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
protected override void OnStart(string[] args)
{
string pathToWatch = ConfigurationManager.AppSettings["DirectoryToWatch"];
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = pathToWatch;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName;
watcher.Created += new FileSystemEventHandler(FileCreated);
watcher.EnableRaisingEvents = true;
}
private void FileCreated(object source, FileSystemEventArgs e)
{
try
{
DateTime dt = File.GetCreationTime(e.FullPath);
File.Move(e.FullPath.ToString(), ConfigurationManager.AppSettings["DirectoryToMoveTo"] + e.Name + dt.ToString());
LogEvent($"New file found and moved \n {e.FullPath.ToString()}");
}
catch (IOException ex)
{
LogEvent(ex.ToString());
}
}
嗨,我正在努力在调试过程中使FileCreated事件触发器。我不知道什么时候应该在文件夹中放置一个新文件,因为我正在逐步完成代码。 –
您不必额外做任何事情来触发该事件。初始化完成后,创建一个文件。但是,您无法直接通过逐步达到该事件。 尝试这样做: 1.在FileCreated的开头添加一个断点。 2.运行您的应用程序 3.在正在监视的文件夹中创建一个文件 4.您现在应该看到控件到达您的断点。现在,您可以从这一点开始浏览代码。 –