<PackageReference Include="Castle.Windsor" Version="5.1.0" />

StartableFacility

public class StartableEvents

public static bool IsStartable(IHandler handler)

public void DeferredStart()

This method changes behavior of the facility. Deferred mode should be used when you have single call to Install and register all your components there. Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of installation and only after all IWindsorInstallers were ran it will instantiate and start all the startable components. An exception will be thrown if a startable component can't be instantiated and started. This will help you fail fast and diagnose issues quickly. If you don't want the exception to be thrown and you prefer the component to fail silently, use DeferredTryStart method instead.

public void DeferredStart(StartFlag flag)

Startable components will be started when Signal method is invoked. This is particularily usedul when you need to perform some extra initialization outside of container before starting the Startable components.

public void DeferredTryStart()

This method changes behavior of the facility. Deferred mode should be used when you have single call to Install and register all your components there. Enabling this mode will optimize the behavior of the facility so that it will wait 'till the end of installation and only after all IWindsorInstallers were ran it will instantiate and start all the startable components. No exception will be thrown if a startable component can't be instantiated and started. If you'd rather fail fast and diagnose issues quickly, use DeferredStart method instead.