ServiceBase.OnStart(String[]) ServiceBase.OnStart(String[]) ServiceBase.OnStart(String[]) ServiceBase.OnStart(String[]) Method

Definizione

Quando viene eseguita l'implementazione in una classe derivata, l'esecuzione avviene quando Gestione controllo servizi invia un comando Pause al servizio o quando viene avviato il sistema (nel caso di un servizio ad avvio automatico).When implemented in a derived class, executes when a Start command is sent to the service by the Service Control Manager (SCM) or when the operating system starts (for a service that starts automatically). Specifica le azioni da intraprendere all'avvio del servizio.Specifies actions to take when the service starts.

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

Parametri

args
String[]

Dati passati dal comando di avvio.Data passed by the start command.

Commenti

Usare OnStart per specificare l'elaborazione che si verifica quando il servizio riceve un comando di avvio.Use OnStart to specify the processing that occurs when the service receives a Start command. OnStart è il metodo in cui viene specificato il comportamento del servizio.OnStart is the method in which you specify the behavior of the service. OnStart può accettare argomenti come un modo per passare i dati, ma questo utilizzo è raro.OnStart can take arguments as a way to pass data, but this usage is rare.

Attenzione

Non usare il costruttore per eseguire l'elaborazione che deve essere nel OnStart.Do not use the constructor to perform processing that should be in OnStart. Usare OnStart per gestire tutte le operazioni di inizializzazione del servizio.Use OnStart to handle all initialization of your service. Il costruttore viene chiamato quando l'eseguibile dell'applicazione viene eseguita, non quando viene eseguito il servizio.The constructor is called when the application's executable runs, not when the service runs. L'eseguibile verrà eseguito prima OnStart.The executable runs before OnStart. Quando si continua, ad esempio, è possibile che il costruttore non viene chiamato nuovamente perché Gestione controllo servizi già contiene l'oggetto in memoria.When you continue, for example, the constructor is not called again because the SCM already holds the object in memory. Se OnStop rilascia le risorse allocate nel costruttore anziché in OnStart, le risorse necessarie non essere ricreate la seconda volta viene chiamato il servizio.If OnStop releases resources allocated in the constructor rather than in OnStart, the needed resources would not be created again the second time the service is called.

Servizi possono essere impostati per avviarsi automaticamente al riavvio del computer impostando il StartType nel programma di installazione del servizio Automatic.Services can be set to start automatically when the computer reboots by setting the StartType on the service's installer to Automatic. In questo caso, OnStart viene chiamato all'avvio del sistema.In such a situation, OnStart would be called at system startup.

OnStart è previsto da sottoporre a override nella classe derivata.OnStart is expected to be overridden in the derived class. Per il servizio sia utile OnStart e OnStop devono entrambi essere implementati nella classe del servizio.For the service to be useful, OnStart and OnStop should both be implemented in your service class.

Elaborare gli argomenti di inizializzazione per il servizio nel OnStart metodo, non nel metodo Main.Process initialization arguments for the service in the OnStart method, not in the Main method. Gli argomenti in di args matrice di parametri può essere impostati manualmente nella finestra proprietà per il servizio nella console servizi.The arguments in the args parameter array can be set manually in the properties window for the service in the Services console. Gli argomenti immessi nella console non vengono salvati; vengono passati al servizio una sola volta quando viene avviato il servizio dal Pannello di controllo.The arguments entered in the console are not saved; they are passed to the service on a one-time basis when the service is started from the control panel. Gli argomenti che devono essere presenti quando il servizio viene avviato automaticamente possono essere inseriti nel valore di stringa della ImagePath per la chiave del Registro di sistema del servizio (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ < nome servizio >).Arguments that must be present when the service is automatically started can be placed in the ImagePath string value for the service's registry key (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>). È possibile ottenere gli argomenti dal Registro di sistema usando il GetCommandLineArgs metodo, ad esempio: string[] imagePathArgs = Environment.GetCommandLineArgs();.You can obtain the arguments from the registry using the GetCommandLineArgs method, for example: string[] imagePathArgs = Environment.GetCommandLineArgs();.

Si applica a

Vedi anche