ServiceBase.OnStart(String[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Po zaimplementowaniu w klasie pochodnej program wykonuje polecenie Uruchamiania do usługi przez menedżera kontroli usług (SCM) lub po uruchomieniu systemu operacyjnego (dla usługi uruchamianej automatycznie). Określa akcje do wykonania po uruchomieniu usługi.
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[]
Dane przekazane przez polecenie start.
Uwagi
Służy OnStart do określania przetwarzania, które ma miejsce po odebraniu polecenia Uruchamiania przez usługę. OnStart to metoda, w której określasz zachowanie usługi. OnStart argumenty mogą przyjmować argumenty jako sposób przekazywania danych, ale to użycie jest rzadkie.
Przestroga
Nie należy używać konstruktora do przetwarzania, które powinno znajdować się w .OnStart Służy OnStart do obsługi wszystkich inicjowania usługi. Konstruktor jest wywoływany, gdy plik wykonywalny aplikacji jest uruchamiany, a nie po uruchomieniu usługi. Plik wykonywalny jest uruchamiany przed OnStart. Na przykład po kontynuowaniu konstruktor nie jest wywoływany ponownie, ponieważ program SCM przechowuje już obiekt w pamięci. Jeśli OnStop zwalnia zasoby przydzielone w konstruktorze, a nie w OnStartprogramie , wymagane zasoby nie zostaną utworzone ponownie przy drugim wywołaniu usługi.
Usługi można ustawić tak, aby uruchamiały się automatycznie po ponownym uruchomieniu komputera, ustawiając StartType w instalatorze usługi wartość Automatic. W takiej sytuacji OnStart zostanie wywołana podczas uruchamiania systemu.
OnStart oczekuje się, że zostanie zastąpiony w klasie pochodnej. Aby usługa byłaby przydatna i OnStartOnStop powinna być zaimplementowana w klasie usługi.
Argumenty inicjowania procesu dla usługi w metodzie OnStart , a nie w metodzie Main. Argumenty w tablicy args
parametrów można ustawić ręcznie w oknie właściwości usługi w konsoli Usługi. Argumenty wprowadzone w konsoli nie są zapisywane; są one przekazywane do usługi jednorazowo po uruchomieniu usługi z panelu sterowania. Argumenty, które muszą być obecne, gdy usługa jest uruchamiana automatycznie, można umieścić w wartości ciągu ImagePath dla klucza rejestru usługi (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nazwa> usługi). Argumenty z rejestru można uzyskać przy użyciu GetCommandLineArgs metody , na przykład: string[] imagePathArgs = Environment.GetCommandLineArgs();
.