次の方法で共有


方法: Windows サービスを作成する

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

サービスを作成するときに、 Windows サービスと呼ばれる Visual Studio プロジェクト テンプレートを使用できます。 このテンプレートは、適切なクラスと名前空間を参照し、サービスの基本クラスからの継承を設定し、オーバーライドする可能性のあるいくつかのメソッドをオーバーライドすることで、作業の多くを自動的に実行します。

Warnung

Windows Services プロジェクト テンプレートは、Visual Studio の Express エディションでは使用できません。

少なくとも、機能するサービスを作成するには、次の手順を実行する必要があります。

  • ServiceName プロパティを設定します。

  • サービス アプリケーションに必要なインストーラーを作成します。

  • OnStartメソッドとOnStop メソッドのコードをオーバーライドして指定し、サービスの動作方法をカスタマイズします。

Windows サービス アプリケーションを作成するには

  1. Windows サービス プロジェクトを作成します。

    テンプレートを使用せずにサービスを記述する手順については、「 方法: プログラムでサービスを記述する」を参照してください。

  2. [ プロパティ ] ウィンドウで、サービスの ServiceName プロパティを設定します。

    ServiceName プロパティを設定します。

    ServiceName プロパティの値は、インストーラー クラスに記録されている名前と常に一致する必要があります。 このプロパティを変更する場合は、インストーラー クラスの ServiceName プロパティも更新する必要があります。

  3. 次のいずれかのプロパティを設定して、サービスの機能を決定します。

    財産 Setting
    CanStop True サービスが実行を停止する要求を受け入れることを示す場合。サービスが停止されないように false します。
    CanShutdown True は、サービスが稼働しているコンピューターがシャットダウンするときに通知を受け取り、OnShutdown プロシージャを呼び出せるようにすることを示します。
    CanPauseAndContinue True サービスが実行を一時停止または再開する要求を受け入れることを示す場合。サービスが一時停止および再開されないように false します。
    CanHandlePowerEvent True サービスがコンピューターの電源状態の変更の通知を処理できることを示す場合。これらの変更がサービスに通知されないように false します。
    AutoLog True サービスがアクションを実行するときにアプリケーション イベント ログに情報エントリを書き込む場合。この機能を無効にする false 。 詳細については、「 方法: サービスに関する情報をログに記録する」を参照してください。 メモ: 既定では、 AutoLogtrue に設定されています。

    CanStopまたはCanPauseAndContinuefalseに設定されている場合、サービス コントロール マネージャーは、サービスを停止、一時停止、または続行するための対応するメニュー オプションを無効にします。

  4. コード エディターにアクセスし、 OnStart および OnStop プロシージャに必要な処理を入力します。

  5. 機能を定義するその他のメソッドをオーバーライドします。

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

  7. [ビルド] メニューから [ ソリューションのビルド ] を選択して、プロジェクトを ビルド します。

    F5 キーを押してプロジェクトを実行しないでください。この方法ではサービス プロジェクトを実行できません。

  8. サービスをインストールします。 詳細については、「 方法: サービスをインストールおよびアンインストールする」を参照してください。

こちらも参照ください