Код: Выделить всё
// prevents this host process from terminating so services keep running
Thread.Sleep(Timeout.Infinite)
< /code>
Очевидно, что, как говорится в комментировании кода выше фактического кода, это предотвращение завершения процесса хоста. Но почему бы не заставить основной метод вернуть Async Task Из моего понимания последнее было бы лучше, потому что основной поток будет возвращен в пул потоков, чтобы сделать что -то полезно Основной метод не мог вернуть асинхронную задачу .
Код: Выделить всё
ServiceRuntime.RegisterServiceAsync("FirstStatelessApiType",
context => new FirstStatelessApi(context)).GetAwaiter().GetResult();
< /code>
(GetAwaiter().GetResult()edit :
Я уже проверил переключение с void main async main и использует задачу. Thread.sleep и не видел разницы в поведении моей службы (конечные точки API все еще работали и работали, как и ожидалось)
Подробнее здесь: https://stackoverflow.com/questions/755 ... task-delay
Мобильная версия