←Select platform

ExtendedServiceController Class

Summary

Extends the ServiceController by adding members to monitor the status of a Windows Service.

Syntax

C#
C++/CLI
public class ExtendedServiceController : ServiceController 
public: 
   ref class ExtendedServiceController : ServiceController 

Remarks

ExtendedServiceController extends the ServiceController class by adding the following members to monitor the status of a Windows Service:

Example

C#
using Leadtools.Dicom.AddIn; 
using Leadtools.Dicom.AddIn.Common; 
using Leadtools.Dicom.Server.Admin; 
 
 
public static class ExtendedServiceControllerExample 
{ 
   static AutoResetEvent statusChangedEvent = new AutoResetEvent(false); 
   static ServiceControllerStatus desiredStatus = ServiceControllerStatus.Stopped; 
 
   public static void StartService(ExtendedServiceController controller) 
   { 
      if (controller.Status != System.ServiceProcess.ServiceControllerStatus.Running) 
      { 
         desiredStatus = ServiceControllerStatus.Running; 
         statusChangedEvent.Reset(); 
         controller.Start(); 
         statusChangedEvent.WaitOne(); 
      } 
   } 
   public static void StopService(ExtendedServiceController controller) 
   { 
      if (controller.Status != System.ServiceProcess.ServiceControllerStatus.Stopped) 
      { 
         desiredStatus = ServiceControllerStatus.Stopped; 
         statusChangedEvent.Reset(); 
         controller.Stop(); 
         statusChangedEvent.WaitOne(); 
      } 
   } 
 
   public static void ExtendedServiceControllerSample() 
   { 
      ExtendedServiceController controller = new ExtendedServiceController("L22_PACS_SCP64"); 
      controller.StatusChanged += Controller_StatusChanged; 
 
      StartService(controller); 
      StopService(controller); 
      StartService(controller); 
      StopService(controller); 
   } 
 
   private static void Controller_StatusChanged(object sender, ServiceStatusEventArgs e) 
   { 
      ExtendedServiceController controller = sender as ExtendedServiceController; 
      if (controller != null) 
      { 
         try 
         { 
            Console.WriteLine($"Status Changed: {e.Status}"); 
         } 
         finally 
         { 
            if (controller.Status == desiredStatus) 
            { 
               statusChangedEvent.Set(); 
            } 
         } 
      } 
   } 
} 

Requirements

Target Platforms

See Also

ExtendedServiceController Members

Leadtools.Dicom.Server.Admin Namespace

Help Version 22.0.2023.2.9
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom.Server.Admin Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.