ServiceBase コンストラクタ
アセンブリ: System.ServiceProcess (system.serviceprocess.dll 内)
構文
解説
ServiceBase クラスのインスタンスを作成しないでください。代わりに、ServiceBase から派生させて、派生クラスをインスタンス化します。ServiceBase から継承されたクラスのコンストラクタに実装するためには、最低限、コンポーネントで ServiceName を設定する必要があります。その他の特別な処理をコンストラクタで行う必要はありません。ほとんどの初期化は、コンストラクタではなく OnStart で処理する必要があります。コンストラクタで処理すると、サービスが停止してから再開するときに、オブジェクトが再初期化されない場合があります。
派生クラスでコンストラクタをオーバーライドする場合は、コード内で基本クラスのコンストラクタを呼び出します。
ServiceBase コンストラクタは、AutoLog を true に設定します。サービス コントロール マネージャ (SCM) からのサービスの呼び出しを自動的にログに記録しない場合は、AutoLog を false に設定します。
実行可能ファイルにサービスが 1 つだけ含まれている場合は、SCM で Start が選択されるとサービスのコンストラクタが呼び出され、Stop が呼び出されるとデストラクタが実行されます。
実行可能ファイルに複数のサービスが含まれる場合は、1 つのサービスで Start が呼び出されると、実行可能ファイル内のすべてのサービスのコンストラクタが呼び出されますが、開始されるのは指定されたサービスだけです。サービスのデストラクタは、各サービスが個別に停止したときではなく、すべてのサービスが停止したときに一度に実行されます。
メモ |
---|
基本クラスのコンストラクタをオーバーライドする場合は、派生クラスのコンストラクタで基本クラスを明示的に呼び出す必要があります。 |
ServiceBase から派生したサービス クラスのコンストラクタの例を次に示します。このコード例は、ServiceBase クラスのトピックで取り上げているコード例の一部分です。
Public Sub New() CanPauseAndContinue = True CanHandleSessionChangeEvent = True ServiceName = "SimpleService" End Sub 'New
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Weblioに収録されているすべての辞書からServiceBase コンストラクタを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からServiceBase コンストラクタ を検索
- ServiceBase コンストラクタのページへのリンク