方法: サービスを開始する
Note
この記事は、.NET のホステッド サービスには適用されません。 Microsoft.Extensions.Hosting.BackgroundService を使用する Windows サービスと Worker サービス テンプレートの最新のコンテンツについては、以下を参照してください。
サービスをインストールした後で、サービスを起動します。 起動することで、サービス クラスの OnStart メソッドが呼び出されます。 通常、OnStart メソッドにはサービスが本来行う処理を定義します。 サービスの起動後は、手動で一時停止または停止するまで、アクティブの状態を維持します。
サービスを自動で起動するか手動で起動するかを設定できます。 自動的に起動するサービスは、そのサービスがインストールされているコンピューターを再起動したとき、または初めて電源を入れたときに起動します。 手動で起動するサービスは、ユーザーが起動する必要があります。
Note
既定では、Visual Studio で作成されたサービスは手動で起動するように設定されます。
サービスを手動で起動するには、サーバー エクスプローラーまたはサービス コントロール マネージャーを使用します。ServiceController コンポーネントを使ってコードによって起動することもできます。
StartType クラスの ServiceInstaller プロパティを設定し、サービスを手動で起動するか自動で起動するかを指定します。
サービスの起動方法を指定する
サービスの作成後、必要なインストーラーを追加します。 詳細については、サービス アプリケーションにインストーラーを追加する」をご覧ください。
デザイナーで、対象となるサービスのインストーラーをクリックします。
[プロパティ] ウィンドウで、StartType プロパティに次のいずれかの値を設定します。
サービスを起動するタイミング 設定値 コンピューターを再起動したとき。 自動 明示的なユーザー アクションによってサービスを開始するとき。 手動 ヒント
サービスが起動しないようにするには、StartType プロパティを [無効] に設定します。 サーバーを数回再起動することが見込まれる場合は、サービスを自動的に起動しないように設定することで、再起動の時間を短縮できます。
Note
以上のプロパティやその他のプロパティの設定は、サービスのインストール後に変更できます。
StartType プロパティが [手動] に設定されているサービスを起動するには、サーバー エクスプローラーまたは Windows サービス コントロール マネージャーを使います。また、コードで起動することもできます。 起動方法によっては、サービス コントロール マネージャーのコンテキストではサービスを起動しません。サーバー エクスプローラーによるサービスの起動とコードによるサービスの起動の場合は、実際にはコントローラーを操作しています。
サーバー エクスプローラーでサービスを起動する
サーバーがサーバー エクスプローラーの一覧にない場合は追加します。 詳細については、「方法:サーバー エクスプローラー/データベース エクスプローラーにアクセスして初期化する」を参照してください。
[サービス] ノードを展開し、開始するサービスを検索します。
サービス名を右クリックし、 [開始] を選択します。
Services からサービスを開始する
[Services] アプリを開きます。
一覧で目的のサービスを右クリックし、 [開始] を選択します。
コードからサービスを開始する
ServiceController クラスのインスタンスを作成し、管理対象となるサービスと対話するように設定します。
Start メソッドを呼び出してサービスを起動します。
関連項目
.NET