У меня есть служба Windows .NET 2.0, которую я установил с помощью installutil.exe. Функцией службы является служба пакетной обработки, которая проходит через входной файл, обрабатывает каждую запись и сохраняет выходной файл. Когда я запускаю службу в Windows Service, через 20 секунд она говорит, что служба не отвечает, поэтому она останавливает службу, однако из выходного файла я вижу, что служба работает нормально.
Точное сообщение, которое я получаю: Ошибка 1053: Служба не ответила на запрос запуска или управления своевременно.
Я увеличил время ожидания службы Windows с помощью взлома реестра, но он дает те же результаты (единственное отличие состоит в том, что для получения сообщения «не отвечает» требуется больше времени).
Метод OnStart моего сервиса выглядит следующим образом:
protected override void OnStart(string[] args)
{
Producer producer = new Producer();
ThreadStart st = new ThreadStart(producer.Produce);
workerThread = new Thread(st);
workerThread.Start();
}
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new BatchService() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
Производитель конструктора:
public Producer()
{
nMaxConcurentJobs = int.Parse(ConfigurationManager.AppSettings["MaxConcurentJobs"]);
if (ConfigurationManager.AppSettings[TIME_INTERVAL] != null)`
{
sleepTime = int.Parse(ConfigurationManager.AppSettings[TIME_INTERVAL]);
sleepTime *= 1000;
}
}
Есть ли что-то, что мне нужно, чтобы уведомить службу Windows, что она работает ?? Буду признателен за любую помощь, я борюсь с этим уже несколько дней!