次の方法で共有


方法: サービスを開始する

この記事は、.NET でホストされているサービスには適用されません。 Microsoft.Extensions.Hosting.BackgroundServiceと Worker Service テンプレートを使用した Windows サービスの最新のコンテンツについては、次を参照してください。

サービスをインストールしたら、サービスを開始する必要があります。 開始すると、サービス クラスの OnStart メソッドが呼び出されます。 通常、 OnStart メソッドは、サービスが実行する便利な作業を定義します。 サービスの開始後は、手動で一時停止または停止するまでアクティブなままになります。

サービスは、自動的または手動で開始するように設定できます。 自動的に開始されるサービスは、インストールされているコンピューターが再起動されるか、最初に有効になったときに開始されます。 ユーザーは、手動で開始するサービスを開始する必要があります。

既定では、Visual Studio で作成されたサービスは手動で開始するように設定されています。

サービスを手動で開始するには、 サーバー エクスプローラーサービス コントロール マネージャー、または ServiceControllerと呼ばれるコンポーネントを使用するコードから、いくつかの方法があります。

StartType クラスに ServiceInstaller プロパティを設定して、サービスを手動で開始するか、自動的に開始するかを決定します。

サービスの開始方法を指定する

  1. サービスを作成したら、それに必要なインストーラーを追加します。 詳細については、「 方法: サービス アプリケーションにインストーラーを追加する」を参照してください

  2. デザイナーで、使用しているサービスのサービス インストーラーをクリックします。

  3. [ プロパティ ] ウィンドウで、 StartType プロパティを次のいずれかに設定します。

    サービスをインストールするには この値を設定する
    コンピューターの再起動時 自動
    明示的なユーザー アクションがサービスを開始したとき 手動

    ヒント

    サービスがまったく開始されないようにするには、 StartType プロパティを Disabled に設定します。 これは、サーバーを複数回再起動する場合に、通常開始されるサービスが起動しないようにして時間を節約したい場合に実行できます。

    これらのプロパティとその他のプロパティは、サービスのインストール後に変更できます。

    StartType プロセスが手動に設定されているサービスは、サーバー エクスプローラーWindows サービス コントロール マネージャー、またはコードから、いくつかの方法で開始できます。 これらのメソッドのすべてが、サービス コントロール マネージャーのコンテキストで実際にサービスを開始するわけではないことに注意してください。 サーバー エクスプローラー と、サービスを開始するプログラムによるメソッドは、実際にコントローラーを操作します。

サーバー エクスプローラーからサービスを開始する

  1. サーバー エクスプローラーで、必要なサーバーがまだ表示されていない場合は追加します。 詳細については、「サーバー エクスプローラー-データベース エクスプローラーにアクセスして初期化する方法」を参照してください。

  2. [サービス] ノードを展開し、開始するサービスを見つけます。

  3. サービスの名前を右クリックし、[開始] を選択 します

サービスからサービスを開始する

  1. サービス アプリを開きます。

  2. 一覧でサービスを選択し、右クリックして [開始] を選択 します

コードからサービスを開始する

  1. ServiceController クラスのインスタンスを作成し、管理するサービスと対話するように構成します。

  2. Start メソッドを呼び出してサービスを開始します。

こちらも参照ください