ServiceBase.OnStart(String[]) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Származtatott osztályban implementálva a rendszer akkor hajtja végre, ha a Service Control Manager (SCM) egy Start parancsot küld a szolgáltatásnak, vagy amikor elindul az operációs rendszer (automatikusan elinduló szolgáltatás esetén). Megadja a szolgáltatás indításakor végrehajtandó műveleteket.
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())
Paraméterek
- args
- String[]
A start parancs által átadott adatok.
Megjegyzések
Annak a feldolgozásnak a megadására szolgál OnStart , amely akkor fordul elő, amikor a szolgáltatás start parancsot kap. OnStart a szolgáltatás viselkedésének megadására szolgáló módszer. OnStart az argumentumokat adatátadási módszerként használhatja, de ez a használat ritkán fordul elő.
Figyelmeztetés
Ne használja a konstruktort a kívánt feldolgozás OnStartvégrehajtására. A szolgáltatás inicializálásának kezelésére szolgál OnStart . A konstruktort az alkalmazás végrehajtható futtatásakor hívja meg a program, nem pedig a szolgáltatás futtatásakor. A végrehajtható futtatás előtt OnStartfut. Ha folytatja, például a konstruktor nem lesz meghívva, mert az SCM már a memóriában tárolja az objektumot. Ha OnStop nem a konstruktorban, hanem a konstruktorban OnStartfoglalt erőforrásokat bocsátja ki, a szükséges erőforrások nem jönnek létre újra a szolgáltatás második hívásakor.
A szolgáltatások a szolgáltatás telepítőjének StartTypebeállításával Automatic automatikusan elindulhatnak, amikor a számítógép újraindul. Ilyen esetben OnStart rendszerindításkor hívnák meg.
OnStart a származtatott osztályban várhatóan felül kell bírálni. Ahhoz, hogy a szolgáltatás hasznos legyen, OnStart és OnStop mindkettőt a szolgáltatásosztályban kell implementálnia.
A szolgáltatás folyamat inicializálási argumentumai a OnStart metódusban, nem a Fő metódusban. A paramétertömb argumentumai manuálisan állíthatók args be a szolgáltatás tulajdonságok ablakában a Szolgáltatások konzolon. A konzolon megadott argumentumok nem lesznek mentve; a rendszer egyszeri alkalommal továbbítja őket a szolgáltatásnak, amikor a szolgáltatás a vezérlőpultról indul. A szolgáltatás automatikus indításakor jelen lévő argumentumok elhelyezhetők a szolgáltatás beállításkulcsának ImagePath sztringértékében (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<szolgáltatásnév>). Az argumentumokat a beállításjegyzékből GetCommandLineArgs a következő módszerrel szerezheti be: string[] imagePathArgs = Environment.GetCommandLineArgs();.