注
この記事は、.NET でホストされているサービスには適用されません。 Microsoft.Extensions.Hosting.BackgroundServiceと Worker Service テンプレートを使用した Windows サービスの最新のコンテンツについては、次を参照してください。
サービスを作成するときに、 Windows サービスと呼ばれる Visual Studio プロジェクト テンプレートを使用できます。 このテンプレートは、適切なクラスと名前空間を参照し、サービスの基本クラスからの継承を設定し、オーバーライドする可能性のあるいくつかのメソッドをオーバーライドすることで、作業の多くを自動的に実行します。
Warnung
Windows Services プロジェクト テンプレートは、Visual Studio の Express エディションでは使用できません。
少なくとも、機能するサービスを作成するには、次の手順を実行する必要があります。
ServiceName プロパティを設定します。
サービス アプリケーションに必要なインストーラーを作成します。
OnStartメソッドとOnStop メソッドのコードをオーバーライドして指定し、サービスの動作方法をカスタマイズします。
Windows サービス アプリケーションを作成するには
Windows サービス プロジェクトを作成します。
注
テンプレートを使用せずにサービスを記述する手順については、「 方法: プログラムでサービスを記述する」を参照してください。
[ プロパティ ] ウィンドウで、サービスの ServiceName プロパティを設定します。
注
ServiceName プロパティの値は、インストーラー クラスに記録されている名前と常に一致する必要があります。 このプロパティを変更する場合は、インストーラー クラスの ServiceName プロパティも更新する必要があります。
次のいずれかのプロパティを設定して、サービスの機能を決定します。
財産 Setting CanStop Trueサービスが実行を停止する要求を受け入れることを示す場合。サービスが停止されないようにfalseします。CanShutdown Trueは、サービスが稼働しているコンピューターがシャットダウンするときに通知を受け取り、OnShutdown プロシージャを呼び出せるようにすることを示します。CanPauseAndContinue Trueサービスが実行を一時停止または再開する要求を受け入れることを示す場合。サービスが一時停止および再開されないようにfalseします。CanHandlePowerEvent Trueサービスがコンピューターの電源状態の変更の通知を処理できることを示す場合。これらの変更がサービスに通知されないようにfalseします。AutoLog Trueサービスがアクションを実行するときにアプリケーション イベント ログに情報エントリを書き込む場合。この機能を無効にするfalse。 詳細については、「 方法: サービスに関する情報をログに記録する」を参照してください。 メモ: 既定では、 AutoLog はtrueに設定されています。注
CanStopまたはCanPauseAndContinueが
falseに設定されている場合、サービス コントロール マネージャーは、サービスを停止、一時停止、または続行するための対応するメニュー オプションを無効にします。機能を定義するその他のメソッドをオーバーライドします。
サービス アプリケーションに必要なインストーラーを追加します。 詳細については、「 方法: サービス アプリケーションにインストーラーを追加する」を参照してください。
[ビルド] メニューから [ ソリューションのビルド ] を選択して、プロジェクトを ビルド します。
注
F5 キーを押してプロジェクトを実行しないでください。この方法ではサービス プロジェクトを実行できません。
サービスをインストールします。 詳細については、「 方法: サービスをインストールおよびアンインストールする」を参照してください。
こちらも参照ください
.NET