Каков принятый шаблон для приложения, которое может быть запущено как служба или как консольное приложение

У меня есть проект, который развернут в производство как служба Windows. Однако для локальной разработки было бы полезно запустить его как консольное приложение. На данный момент у меня есть класс под названиемReportingHost, который обеспечивает мою основную функциональность, и класс ReportingServiceHost, который наследуется отServiceBase и позволяет мне запускать приложение как сервис. Существует также программный класс с основным методом, который вызываетServiceBase.Run на моем ReportingServiceHost.

Думаю, мне нужно написатьReportingConsoleHost класс, который позволяет мне запускать функциональность в консоли. Тогда мне нужно изменить мойMain чтобы отреагировать на переключатель командной строки и выбрать один или другой. Вот те два бита, с которыми у меня проблемы.

Я посмотрел наэт и попытался использовать этот код, но мое приложение закрывается немедленно, оно не показывает окно консоли и не ждет Enter перед закрытием.

Часть проблемы в том, что у меня нет глубокого понимания того, как эти вещи работают. я надеюсь достичь определенного шаблона для разделения моей функциональности, двух разных способов ее запуска и основного метода, который выбирает один из этих способов на основе аргумента командной строки.

Ответы на вопрос(4)

Ваш ответ на вопрос