FileSystemWatcher and Windows Service

EDN Admin

Well-known member
Joined
Aug 7, 2010
Messages
12,794
Location
In the Machine
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana Dear All,<br/><br/>
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana I am using a windows service that converts .bmp files to jpg files. The user actually drops the .bmp files in directory called C:Images . As soon as user drops the .bmp files the windows service performs the conversion into jpg files and the files are copied into another directory called C:newImages. The FileSystemWatcher keeps track of all the .bmp files that are droped into C:Images. Now the problem is that I want this service to run continously. At the moment the service only runs for the first time only. Below is my code:
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  public partial class ConvertImage : ServiceBase
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana private FileSystemWatcher _watcher;
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana public ConvertImage()
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana InitializeComponent();
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana protected override void OnStart(string[] args)
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana _watcher = new FileSystemWatcher();
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana _watcher.Path = @"C:Images";
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana _watcher.Created += new FileSystemEventHandler(watcher_FileCreated);_watcher.EnableRaisingEvents = true;
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana void watcher_FileCreated(object sender, FileSystemEventArgs e)
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana try
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana string newName = System.IO.Path.GetFileNameWithoutExtension(e.Name);
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana string strTimeStamp = DateTime.Now.ToString("yyyyMMdd") + "_" + DateTime.Now.ToString("hhmmss");
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana newName = newName + strTimeStamp + ".jpg";
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana System.Drawing.Image img = System.Drawing.Image.FromFile(@"C:Images" + e.Name);
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana if (!File.Exists(@"C:newImages" + newName))
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana img.Save(@"C:newImages" + newName, System.Drawing.Imaging.ImageFormat.Jpeg);
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana catch (Exception ex)
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana protected override void OnStop()
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana _watcher.EnableRaisingEvents = false;
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana static void Main()
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana {
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana System.ServiceProcess.ServiceBase[] ServicesToRun;
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana ServicesToRun = new System.ServiceProcess.ServiceBase[] { new ConvertImage() };
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana System.ServiceProcess.ServiceBase.Run(ServicesToRun);
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana  
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana }
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana The above code runs fine but executes only once. How can i make this code running continously.I want the service to check for the .bmp files every second . How can this be achieved. A sample code will be greatly appreciated.<br/>
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana <br/>cheers,
<p class=MsoNormal style="margin:0in 0in 0pt <span style="font-size:10pt;color:black;font-family:Verdana Sammy Williams
<p class=MsoNormal style="margin:0in 0in 0pt <span style="color:black <span style="font-size:small;font-family:Times New Roman  
 

View the full article
 
Back
Top