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 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();
.