У меня есть служба Windows, и я написал код для выполнения задачи в случае OnStart():Как запустить задачу при запуске службы Windows?
protected override void OnStart(string[] args)
{
this.DoTask();
}
private void DoTask()
{
Task task1 = Task.Factory.StartNew(() => this.OriginalFileProcessor.StartPolling());
try
{
Task.Wait(task1);
}
catch (Exception ex)
{
this.Log.Error("Failed running the task", ex);
}
}
Выполнитезадачи это нескончаемый цикл. Он останавливается только тогда, когда служба остановлена.
Но когда я пытаюсь запустить службу, он ждет много времени, а затем дает мне ошибку ниже:
Windows could not start the ... service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.
Как решить это?
Ожидание не ожидается. Я имею в виду, что он просто фиксирует любые исключения из этой задачи. –
Ожидание * * «Ожидание как таковое». Ваш код сидит там, ничего не делая, ожидая завершения этой задачи. И он делает это ожидание в том же потоке, который называется «OnStart». –
нет. он используется для захвата исключения. –