Hi,
I have an service application that uses the FileSystemWatcher in C#
However, the events are not triggered when files are deleted, copied, added etc in the folder tree being monitored. Any ideas? the following is my code:
protected override void OnStart(string[] args)
{
//System.Windows.Forms.Mes
sageBox.Sh
ow("OnStar
t");
#region 1. Add entry to Log with time and date of start
AddLog("IN", "Vigilante Service Started");
#endregion
#region 2. Start the file monitoring service
try
{
string folder =@"K:\test";
AddLog("IN", "Watching folder " + folder);
//Set the path that you want to watch.
this.fileSystemWatcher.Pat
h = folder;
//Set the filter expression.
this.fileSystemWatcher.Fil
ter = "*.*";
//Set monitoring for sub directories as well
this.fileSystemWatcher.Inc
ludeSubdir
ectories = true;
//Add event handler for the Created event
this.fileSystemWatcher.Cre
ated +=
new System.IO.FileSystemEventH
andler(thi
s.fileSyst
emWatcher_
Created);
this.fileSystemWatcher.Cha
nged +=
new System.IO.FileSystemEventH
andler(thi
s.fileSyst
emWatcher_
Changed);
this.fileSystemWatcher.Del
eted +=
new System.IO.FileSystemEventH
andler(thi
s.fileSyst
emWatcher_
Deleted);
this.fileSystemWatcher.Not
ifyFilter =
NotifyFilters.Security
| NotifyFilters.LastWrite
| NotifyFilters.LastAccess
| NotifyFilters.CreationTime
| NotifyFilters.FileName
| NotifyFilters.Size ;
this.fileSystemWatcher.Ena
bleRaising
Events = true;
AddLog("IN", "EnableRaisingEvents = " + this.fileSystemWatcher.Ena
bleRaising
Events);
}
catch (Exception e)
{
AddLog("ER", "Exception in OnStart Service " + e.Message );
}
#endregion
}
private void fileSystemWatcher_Changed(
object sender, FileSystemEventArgs e)
{
AddLog("IN", "File Changed: " + e.Name);
}
private void fileSystemWatcher_Created(
object sender, FileSystemEventArgs e)
{
AddLog("IN", "File Created: " + e.Name);
}
private void fileSystemWatcher_Deleted(
object sender, FileSystemEventArgs e)
{
AddLog("IN", "File Deleted: " + e.Name);
}
The logs show that the service starts and the EnableRaisingEvents is set to true.
Thanks for any help.
Carmelo
Start Free Trial