Обязательно ли добавлять службу и в builder и в app?

Вопрос, на который вы задали, относится к использованию служб в проекте на языке программирования C# с использованием фреймворка ASP.NET Core.

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

Теперь перейдем к вашему вопросу: обязательно ли добавлять службу как в builder, так и в app?

Когда мы говорим о "builder", мы обычно имеем в виду использование метода ConfigureServices в файле Startup.cs. Здесь добавляются службы, которые будут использоваться в приложении. Метод ConfigureServices принимает объект IServiceCollection, через который мы добавляем службы, которые будут доступны в приложении. Обычно мы делаем это, чтобы зарегистрировать различные компоненты, например, сервисы базы данных, аутентификации или логгирования.

Когда мы говорим о "app", мы обычно имеем в виду использование метода Configure в файле Startup.cs. Здесь мы настраиваем конвейер запросов приложения, определяем, какие компоненты будут обрабатывать запросы и в каком порядке. Метод Configure принимает объект IApplicationBuilder, и мы можем использовать его для добавления компонентов, например, обработчика маршрутов или обработчика ошибок.

Теперь к вашему вопросу, обязательно ли добавлять службу как в builder, так и в app? Ответ зависит от того, что именно вы хотите сделать.

Добавление службы в builder в методе ConfigureServices позволяет зарегистрировать службу и сделать ее доступной в приложении. Это обычно делается для компонентов, которые предоставляют функциональность внутри приложения, например, сервисов базы данных, аутентификации или логгирования. Если вы хотите использовать такие службы в вашем приложении, то вам необходимо добавить их в builder.

Добавление службы в app в методе Configure позволяет добавить компонент в конвейер обработки запросов приложения. Это обычно делается для компонентов, которые обрабатывают или изменяют запросы на разных этапах обработки запросов. Например, вы можете добавить службу, которая обрабатывает маршруты запросов или добавляет обработчик ошибок.

В целом, обязательно ли добавлять службу и в builder, и в app, зависит от того, что вы хотите сделать с этой службой в вашем приложении. Если вы хотите использовать службу внутри приложения и/или добавить ее в конвейер обработки запросов, то вам нужно добавить ее и в builder, и в app.