ServiceBase.Dispose Method (Boolean)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Disposes of the resources (other than memory) used by the ServiceBase.

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

protected override void Dispose(
	bool disposing


Type: System.Boolean

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Call Dispose in your derived class (and through it, in the ServiceBase class) when you are finished using the derived class. The Dispose method leaves the derived class in an unusable state. After calling Dispose, you must release all references to the derived class and ServiceBase so the memory they were occupying can be reclaimed by garbage collection.


Always call Dispose before you release your last reference to the class derived from ServiceBase. Otherwise, the resources ServiceBase and the derived class are using will not be freed until garbage collection calls the objects' destructors.

OnStop is often implemented to process the code in OnPause, combined with a call to Dispose. If you choose to do this in your derived class, it is customary to implement OnStart to allocate whatever Dispose released.

.NET Framework
Available since 1.1
Return to top