Я лично использую этот метод для отладки службы Windows:
static void Main() {
if (!Environment.UserInteractive) {
// We are not in debug mode, startup as service
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyServer() };
ServiceBase.Run(ServicesToRun);
} else {
// We are in debug mode, startup as application
MyServer service = new MyServer();
service.StartService();
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
}
И создаю новый метод в вашем классе MyServer
, который будет использовать событие OnStart
:
public void StartService() {
this.OnStart(new string[0]);
}