У меня есть сервис C# Windows на .net 4.8 с очень сложным процессом отключения. В некоторых случаях, когда обслуживание говорит, чтобы закрыть, она висит и просто не закрывается. Он застрял в состоянии остановки навсегда, и единственный способ обойти это - перезапустить сервер. Очевидно, что правильное исправление состоит в том, чтобы выяснить, что вызывает зависание, и исправить его, но это очень сложно. < /P>
Как быстрая и грязная работа вокруг, я могу сделать что -то в соответствии с линейками < /p>
Task.Delay({some reasonably wait time}).ContinueWith(x => Process.GetCurrentProcess().Kill(), CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.Default);
< /code>
В начале кода выключения. < /p>
Это работает для убийства процесса, но также в конечном итоге регистрация < /p>
Ошибка 1067 ». Начните.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-errors