У меня есть служба .Net, которая начала отказываться запускаться - системный журнал показывает, что она «успешно отправила элемент управления запуском», а затем через пять секунд «служба перешла в состояние остановки». У меня есть функция Main () моего класса обслуживания, завернутая в блок try / catch, но когда возникает такая ситуация, в моем журнале событий не появляются ошибки из моего сервиса.
Я хотел бы знать, в чем проблема. Если есть какое-то исключение, которое не было поймано - где оно будет поймано? Ниже приведен код, в котором я запускаю сервис.
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
namespace MyServerService
{
static class service
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
try
{
#if DEBUG
System.Diagnostics.Debugger.Launch();
#endif
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(ServicesToRun);
} catch (Exception ex)
{
System.Diagnostics.EventLog.WriteEntry("MyServerService", "Main() Error: " + ex.Message + ex.InnerException, System.Diagnostics.EventLogEntryType.Error);
}
}
}
}