ServiceBase.CanShutdown Property

Gets or sets a value indicating whether the service should be notified when the system is shutting down.

Namespace: System.ServiceProcess
Assembly: System.ServiceProcess (in system.serviceprocess.dll)

public bool CanShutdown { get; set; }
/** @property */
public boolean get_CanShutdown ()

/** @property */
public void set_CanShutdown (boolean value)

public function get CanShutdown () : boolean

public function set CanShutdown (value : boolean)

Not applicable.

Property Value

true if the service should be notified when the system is shutting down; otherwise, false.

Exception typeCondition


The service has already been started. The CanShutdown property cannot be changed once the service has started.

If CanShutdown is true, the service is notified when the system is shutting down. At shutdown, the OnShutdown method is called if it has been implemented in your derived class.


Only the system should cause the OnShutdown method to execute; the service can call it, but this is not recommended.

The following example shows the use of the CanShutdown property to indicate that a class derived from ServiceBase can handle the event. This example is part of a larger example provided for the ServiceBase class.

public SimpleService()
    CanPauseAndContinue = true;
    CanHandleSessionChangeEvent = true;
    ServiceName = "SimpleService";

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions