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.您現在應該看到控件到達您的斷點。現在,您可以從這一點開始瀏覽代碼。 –