派生クラスに実装されると、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 で既にメモリに格納されているため、コンストラクタは再度呼び出されません。 OnStop が OnStart に割り当てられたリソースではなく、コンストラクタに割り当てられたリソースを解放する場合は、2 度目にサービスを呼び出すときに、必要なリソースが再作成されません。
サービスのインストーラで StartType を設定すると、コンピュータの再起動時にサービスを設定できます。このような場合は、システムの起動時に OnStart が呼び出されます。
OnStart は、派生クラスでオーバーライドされます。サービスを有効に使用するには、 OnStart と OnStop の両方をサービス クラスに実装する必要があります。
必要条件
プラットフォーム: 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