次の方法で共有


ServiceBase.OnStart メソッド

派生クラスに実装されると、Start コマンドがサービス コントロール マネージャ (SCM) によってサービスに送信されるとき、またはオペレーティング システムが (自動的に起動するサービスのために) 起動するときに実行されます。サービスが開始するときに実行されるアクションを指定します。

Protected Overridable Sub OnStart( _
   ByVal args() As String _)
[C#]
protected virtual void OnStart(string[] args);
[C++]
protected: virtual void OnStart(String* args __gc[]);
[JScript]
protected function OnStart(
   args : String[]);

パラメータ

  • args
    Start コマンドによって渡されたデータ。

解説

OnStart を使用して、サービスが Start コマンドを受け取ったときに発生する処理を指定します。 OnStart は、サービスの動作を指定するメソッドです。 OnStart は、データを渡す方法として引数をとることができますが、この方法はほとんど使用されません。

注意    OnStart で行う必要がある処理をコンストラクタを使用して実行しないでください。 OnStart を使用して、サービスの初期化をすべて処理します。コンストラクタは、サービスが実行されているときではなく、アプリケーションの実行可能ファイルが実行されているときに、呼び出されます。実行可能ファイルは OnStart の前に実行されます。たとえば、継続する場合、オブジェクトは SCM で既にメモリに格納されているため、コンストラクタは再度呼び出されません。 OnStopOnStart に割り当てられたリソースではなく、コンストラクタに割り当てられたリソースを解放する場合は、2 度目にサービスを呼び出すときに、必要なリソースが再作成されません。

サービスのインストーラで StartType を設定すると、コンピュータの再起動時にサービスを設定できます。このような場合は、システムの起動時に OnStart が呼び出されます。

OnStart は、派生クラスでオーバーライドされます。サービスを有効に使用するには、 OnStartOnStop の両方をサービス クラスに実装する必要があります。

必要条件

プラットフォーム: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

ServiceBase クラス | ServiceBase メンバ | System.ServiceProcess 名前空間 | OnContinue | OnPause | OnPowerEvent | OnShutdown | OnStop | OnCustomCommand