Build a service by subclassing System.ServiceProcess.ServiceBase : Service « Windows « C# / CSharp Tutorial






using System;        
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;

public class Service1 : System.ServiceProcess.ServiceBase
{
  private System.Diagnostics.EventLog eventLog1;


  public Service1()
  {
    this.eventLog1 = new System.Diagnostics.EventLog();
    ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();

    this.eventLog1.Log = "MyCustomLog";
    this.eventLog1.Source = "CustomEventService2";

    this.AutoLog = false;
    this.ServiceName = "CustomEventService";
    ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();
  }

  // The main entry point for the process
  static void Main()
  {
    System.ServiceProcess.ServiceBase[] ServicesToRun;
    ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };
    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
  }

  protected override void OnStart(string[] args)
  {
    eventLog1.WriteEntry( "Hello", EventLogEntryType.Information );
  }

  protected override void OnStop()
  {
    eventLog1.WriteEntry( "Goodbye", EventLogEntryType.Warning );
  }
}








29.5.Service
29.5.1.Simplest service
29.5.2.Build a service by subclassing System.ServiceProcess.ServiceBase
29.5.3.Implement the service interface
29.5.4.Service control: start and stop