方法: プログラムでサービスを作成する

Note

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

Windows サービス プロジェクトのテンプレートを使用しない場合は、継承などの基本要素を設定して独自のサービスを作成できます。 プログラミングによってサービスを作成する場合は、テンプレートでは自動化される手順を手動で行う必要があります。

  • サービス クラスが ServiceBase クラスから継承されるように設定します。

  • サービス プロジェクトの Main メソッドを作成します。このメソッドは、実行するサービスを定義し、それに対して Run メソッドを呼び出します。

  • OnStart プロシージャと OnStop プロシージャをオーバーライドし、任意の処理内容を記述します。

プログラミングによってサービスを作成するには

  1. 空のプロジェクトを作成し、必要な名前空間への参照を作成するには、次の手順を実行します。

    1. ソリューション エクスプローラーで、 [参照] ノードを右クリックし、 [参照の追加] をクリックします。

    2. [.NET Framework] タブで System.dll までスクロールして選択し、 [選択] をクリックします。

    3. System.ServiceProcess.dll までスクロールして選択し、 [選択] をクリックします。

    4. [OK] をクリックします。

  2. クラスを追加し、ServiceBase から継承されるように設定します。

    public class UserService1 : ServiceBase
    {
    }
    
    Public Class UserService1
        Inherits System.ServiceProcess.ServiceBase
    End Class
    
  3. 次のコードを追加してサービス クラスを設定します。

    public UserService1()
    {
        ServiceName = "MyService2";
        CanStop = true;
        CanPauseAndContinue = true;
        AutoLog = true;
    }
    
    Public Sub New()
        Me.ServiceName = "MyService2"
        Me.CanStop = True
        Me.CanPauseAndContinue = True
        Me.AutoLog = True
    End Sub
    
  4. クラスの Main メソッドを作成し、それを使用してクラスに含まれるサービスを定義します。userService1 がクラスの名前です。

    public static void Main()
    {
        ServiceBase.Run(new UserService1());
    }
    
    Shared Sub Main()
        System.ServiceProcess.ServiceBase.Run(New UserService1)
    End Sub
    
  5. OnStart メソッドをオーバーライドし、サービスの開始時に実行する処理を定義します。

    protected override void OnStart(string[] args)
    {
        // Insert code here to define processing.
    }
    
    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Insert code here to define processing.
    End Sub
    
  6. 他に独自の処理を定義するメソッドがあればそれをオーバーライドし、サービスが行うアクションを記述します。

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

  8. [ビルド] メニューの [ソリューションのビルド] をクリックして、プロジェクトを作成します。

    注意

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

  9. セットアップ プロジェクトと、サービスをインストールするカスタム処理を作成します。 例については、「チュートリアル: コンポーネント デザイナーによる Windows サービス アプリケーションの作成」を参照してください。

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

関連項目