Sdílet prostřednictvím


ServiceBase.OnStart(String[]) Metoda

Definice

Při implementaci v odvozené třídě se spustí při odeslání příkazu Start do služby správcem řízení služeb (SCM) nebo při spuštění operačního systému (pro službu, která se spustí automaticky). Určuje akce, které se mají provést při spuštění služby.

protected:
 virtual void OnStart(cli::array <System::String ^> ^ args);
protected virtual void OnStart (string[] args);
abstract member OnStart : string[] -> unit
override this.OnStart : string[] -> unit
Protected Overridable Sub OnStart (args As String())

Parametry

args
String[]

Data předaná příkazem start.

Poznámky

Slouží OnStart k určení zpracování, ke kterému dojde, když služba obdrží příkaz Start. OnStart je metoda, ve které určíte chování služby. OnStart může přijímat argumenty jako způsob předávání dat, ale toto použití je vzácné.

Upozornění

Nepoužívejte konstruktor k provádění zpracování, které by mělo být v OnStart. Slouží OnStart ke zpracování veškeré inicializace vaší služby. Konstruktor se volá při spuštění spustitelného souboru aplikace, ne při spuštění služby. Spustitelný soubor běží před OnStart. Pokud budete pokračovat, například konstruktor není znovu volána, protože SCM již obsahuje objekt v paměti. Pokud OnStop uvolní prostředky přidělené v konstruktoru místo v OnStart, potřebné prostředky se nevytvořily znovu při druhém zavolání služby.

Služby lze nastavit tak, aby se při restartování počítače automaticky spustily nastavením StartType instalačního programu služby na Automatichodnotu . V takové situaci OnStart by se volala při spuštění systému.

OnStart očekává se, že se přepíše v odvozené třídě. Aby služba byla užitečná, OnStart a OnStop obě by měly být implementovány ve vaší třídě služeb.

Argumenty inicializace procesů pro službu v OnStart metodě, ne v Metodě Main. Argumenty v args poli parametrů lze nastavit ručně v okně vlastností pro službu v konzole Služby. Argumenty zadané v konzole se neuloží; jsou předány službě jednorázově, když je služba spuštěna z ovládacího panelu. Argumenty, které musí být přítomné při automatickém spuštění služby, lze umístit do hodnoty řetězce ImagePath pro klíč registru služby (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>). Argumenty můžete získat z registru pomocí GetCommandLineArgs metody, například: string[] imagePathArgs = Environment.GetCommandLineArgs();.

Platí pro

Viz také