次の方法で共有


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

Note

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

サービスをインストールした後で、サービスを起動します。 起動することで、サービス クラスの OnStart メソッドが呼び出されます。 通常、OnStart メソッドにはサービスが本来行う処理を定義します。 サービスの起動後は、手動で一時停止または停止するまで、アクティブの状態を維持します。

サービスを自動で起動するか手動で起動するかを設定できます。 自動的に起動するサービスは、そのサービスがインストールされているコンピューターを再起動したとき、または初めて電源を入れたときに起動します。 手動で起動するサービスは、ユーザーが起動する必要があります。

Note

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

サービスを手動で起動するには、サーバー エクスプローラーまたはサービス コントロール マネージャーを使用します。ServiceController コンポーネントを使ってコードによって起動することもできます。

StartType クラスの ServiceInstaller プロパティを設定し、サービスを手動で起動するか自動で起動するかを指定します。

サービスの起動方法を指定する

  1. サービスの作成後、必要なインストーラーを追加します。 詳細については、サービス アプリケーションにインストーラーを追加する」をご覧ください。

  2. デザイナーで、対象となるサービスのインストーラーをクリックします。

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

    サービスを起動するタイミング 設定値
    コンピューターを再起動したとき。 自動
    明示的なユーザー アクションによってサービスを開始するとき。 手動

    ヒント

    サービスが起動しないようにするには、StartType プロパティを [無効] に設定します。 サーバーを数回再起動することが見込まれる場合は、サービスを自動的に起動しないように設定することで、再起動の時間を短縮できます。

    Note

    以上のプロパティやその他のプロパティの設定は、サービスのインストール後に変更できます。

    StartType プロパティが [手動] に設定されているサービスを起動するには、サーバー エクスプローラーまたは Windows サービス コントロール マネージャーを使います。また、コードで起動することもできます。 起動方法によっては、サービス コントロール マネージャーのコンテキストではサービスを起動しません。サーバー エクスプローラーによるサービスの起動とコードによるサービスの起動の場合は、実際にはコントローラーを操作しています。

サーバー エクスプローラーでサービスを起動する

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

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

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

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

  1. [Services] アプリを開きます。

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

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

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

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

関連項目