次の方法で共有


ServiceBase コンストラクター

定義

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

public:
 ServiceBase();
public ServiceBase ();
Public Sub New ()

注釈

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

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

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

実行可能ファイルに 1 つのサービスが含まれている場合、システムは SCM から Start が選択されたときにサービスのコンストラクターを呼び出し、Stop が呼び出された場合はデストラクターを実行します。

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

注意

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

適用対象

こちらもご覧ください