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 spouští 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é.

Caution

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 je volána 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í volána znovu, protože SCM již obsahuje objekt v paměti. Pokud OnStop uvolní prostředky přidělené v konstruktoru spíše než v OnStart, potřebné prostředky by se znovu nevytvořily při druhém zavolání služby.

Služby lze nastavit tak, aby se automaticky spustily, když se počítač restartuje 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á a OnStartOnStop měla by být implementována 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 Services. 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řítomny 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\<název> služby). Argumenty můžete získat z registru pomocí GetCommandLineArgs metody, například: string[] imagePathArgs = Environment.GetCommandLineArgs();.

Platí pro

Viz také