次の方法で共有


ServiceBase コンストラクタ

ServiceBase クラスの新しいインスタンスを作成します。

Public Sub New()
[C#]
public ServiceBase();
[C++]
public: ServiceBase();
[JScript]
public function ServiceBase();

解説

ServiceBase クラスのインスタンスを作成しないでください。代わりに、 ServiceBase から派生させて、派生クラスをインスタンス化します。 ServiceBase から継承されたクラスのコンストラクタに実装するためには、最低限、コンポーネントで ServiceName を設定する必要があります。その他の特別な処理をコンストラクタで行う必要はありません。ほとんどの初期化は、コンストラクタではなく OnStart で処理する必要があります。コンストラクタで処理すると、サービスが停止してから再開するときに、オブジェクトが再初期化されない場合があります。

派生クラスでコンストラクタをオーバーライドする場合は、コード内で基本クラスのコンストラクタを呼び出します。

ServiceBase コンストラクタは、 AutoLogtrue に設定します。サービス コントロール マネージャ (SCM) からのサービスの呼び出しを自動的にログに記録しない場合は、 AutoLogfalse に設定します。

実行可能ファイルにサービスが 1 つだけ含まれている場合は、SCM で Start が選択されるとサービスのコンストラクタが呼び出され、Stop が呼び出されるとデストラクタが実行されます。

実行可能ファイルに複数のサービスが含まれる場合は、1 つのサービスで Start が呼び出されると、実行可能ファイル内のすべてのサービスのコンストラクタが呼び出されますが、開始されるのは指定されたサービスだけです。サービスのデストラクタは、各サービスが個別に停止したときではなく、すべてのサービスが停止したときに一度に実行されます。

メモ   基本クラスのコンストラクタをオーバーライドする場合は、派生クラスのコンストラクタで基本クラスを明示的に呼び出す必要があります。

必要条件

プラットフォーム: 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 名前空間 | OnStart | AutoLog | Run