ServiceBase.OnStart(String[]) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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();.