方法 : プログラムでサービスを作成する
Windows サービス プロジェクトのテンプレートを使用しない場合は、継承などの基本要素を設定して独自のサービスを作成できます。 プログラミングによってサービスを作成する場合は、テンプレートでは自動化される手順を手動で行う必要があります。
サービス クラスが ServiceBase クラスから継承されるように設定します。
サービス プロジェクトの Main メソッドを作成します。このメソッドは、実行するサービスを定義し、それに対して Run メソッドを呼び出します。
OnStart プロシージャと OnStop プロシージャをオーバーライドし、任意の処理内容を記述します。
注意
Windows サービスのテンプレートおよび関連する機能は、Visual Studio の Standard Edition では使用できません。
プログラミングによってサービスを作成するには
空のプロジェクトを作成し、必要な名前空間への参照を作成するには、次の手順を実行します。
ソリューション エクスプローラーで、[参照設定] ノードを右クリックし、[参照の追加] をクリックします。
[.NET] タブで System.dll までスクロールして選択し、[選択] をクリックします。
System.ServiceProcess.dll までスクロールして選択し、[選択] をクリックします。
[OK] をクリックします。
クラスを追加し、ServiceBase から継承されるように設定します。
Public Class UserService1 Inherits System.ServiceProcess.ServiceBase End Class
public class UserService1 : System.ServiceProcess.ServiceBase { }
次のコードを追加してサービス クラスを設定します。
Public Sub New() Me.ServiceName = "MyService2" Me.CanStop = True Me.CanPauseAndContinue = True Me.AutoLog = True End Sub
public UserService1() { this.ServiceName = "MyService2"; this.CanStop = true; this.CanPauseAndContinue = true; this.AutoLog = true; }
クラスの Main メソッドを作成し、それを使用してクラスに含まれるサービスを定義します。userService1 がクラスの名前です。
Shared Sub Main() System.ServiceProcess.ServiceBase.Run(New UserService1) End Sub
public static void Main() { System.ServiceProcess.ServiceBase.Run(new UserService1()); }
OnStart メソッドをオーバーライドし、サービスの開始時に実行する処理を定義します。
Protected Overrides Sub OnStart(ByVal args() As String) ' Insert code here to define processing. End Sub
protected override void OnStart(string[] args) { // Insert code here to define processing. }
他に独自の処理を定義するメソッドがあればそれをオーバーライドし、サービスが行うアクションを記述します。
サービス アプリケーションの必要なインストーラーを追加します。 詳細については、「方法 : サービス アプリケーションにインストーラーを追加する」を参照してください。
[ビルド] メニューの [ソリューションのビルド] をクリックして、プロジェクトを作成します。
注意
F5 キーを押してプロジェクトを実行しないでください。この方法ではサービス プロジェクトを実行できません。
セットアップ プロジェクトと、サービスをインストールするカスタム処理を作成します。 例については、「チュートリアル: コンポーネント デザイナーによる Windows サービス アプリケーションの作成」を参照してください。
サービスをインストールします。 詳細については、「方法: サービスをインストールおよびアンインストールする」を参照してください。
参照
処理手順
方法 : サービス アプリケーションにインストーラーを追加する
チュートリアル: コンポーネント デザイナーによる Windows サービス アプリケーションの作成