Export (0) Print
Expand All

System.ServiceProcess Namespace

The System.ServiceProcess namespace provides classes that allow you to implement, install, and control Windows service applications. Services are long-running executables that run without a user interface. Implementing a service involves inheriting from the ServiceBase class and defining specific behavior to process when start, stop, pause, and continue commands are passed in, as well as custom behavior and actions to take when the system shuts down.

Services are installed using an installation utility such as InstallUtil.exe. The System.ServiceProcess namespace provides installation classes that write service information to the registry. The ServiceProcessInstaller class provides an encompassing class which installs components common to all the services in an installation. For each service, you create an instance of the ServiceInstaller class to install service-specific functionality.

The ServiceController class enables you to connect to an existing service and manipulate it or get information about it. This class is typically used in an administrative capacity, and enables you to start, stop, pause, continue, or perform custom commands on a service. Where the ServiceBase class defines the processing a service performs when a command occurs, the ServiceController is the agent that enables you to call those commands on the service.

  Class Description
Public class ServiceBase Provides a base class for a service that will exist as part of a service application. ServiceBase must be derived from when creating a new service class.
Public class ServiceController Represents a Windows service and allows you to connect to a running or stopped service, manipulate it, or get information about it.
Public class ServiceControllerPermission Allows control of code access security permissions for service controllers.
Public class ServiceControllerPermissionAttribute Allows declarative service controller permission checks.
Public class ServiceControllerPermissionEntry Defines the smallest unit of a code access security permission that is set for a ServiceController.
Public class ServiceControllerPermissionEntryCollection Contains a strongly-typed collection of ServiceControllerPermissionEntry objects.
Public class ServiceInstaller Installs a class that extends ServiceBase to implement a service. This class is called by the install utility when installing a service application.
Public class ServiceProcessDescriptionAttribute Specifies a description for a property or event.
Public class ServiceProcessInstaller Installs an executable containing classes that extend ServiceBase. This class is called by installation utilities, such as InstallUtil.exe, when installing a service application.
Public class TimeoutException The exception that is thrown when a specified timeout has expired.

  Structure Description
Public structure SessionChangeDescription Identifies the reason for a Terminal Services session change.

  Enumeration Description
Public enumeration PowerBroadcastStatus Indicates the system's power status.
Public enumeration ServiceAccount Specifies a service's security context, which defines its logon type.
Public enumeration ServiceControllerPermissionAccess Defines access levels used by ServiceController permission classes.
Public enumeration ServiceControllerStatus Indicates the current state of the service.
Public enumeration ServiceStartMode Indicates the start mode of the service.
Public enumeration ServiceType Represents the type of the service.
Public enumeration SessionChangeReason Specifies the reason for a Terminal Services session change notice.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft