DevTools 21: Application Definitions

Опубликовано 30.01.2023 14:23:00 в категории Полезности

Наводим порядок в файле Program.cs и Startup.cs.

Cборка позволяет навести порядок в вашем Program.cs. Можно всё разложить "по полочкам". Чтобы воспользоваться сборкой надо:

Установка nuget-пакета

Можно воспользоваться инструментов Visual Studio:

image1

Или можно просто прописать в файле проекта, но тогда надо будет подставить правильную версию пакета. Посмотреть последнюю актуальную версию можно на nuget.org.

image2

Создание AppDefinitions

Создайте папку Definitions в вашем проекте. В папке создайте ContainerDefinition и унаследуйте его от AppDefinition, как показано ниже на картинке. После этого сделайте переопределение метода ConfigureServices и/или других методов и свойств.

image3

На этой картинке переопределено два метода:

image4

Подключите ваши определения как показано на этой картинке:

image6

В версии 2 и выше используйте такую строку:

builder.AddDefinitions();

Таких определений (наследников от AppDefinition) может быть сколько угодно (конечно же в разумных пределах). После старта приложения вы увидите (если включен уровень логирования Debug) список всех подключенных определений (AppDefinition). Например, в моём случае их 18.

image5

Фильтрация и порядок

У каждого из созданных вами наследников от AppDefinition есть свойство Enabled и OrderIndex. Угадайте, что можно с ними (с AppDefinitionами) сделать?

An English

Application Definitions base classes. The small but very helpful package that can help you to organize your ASP.NET Core application.

You can find more information in my blog Nimble Framework

Видео

Ссылки

NuGet Calabonga.AspNetCore.AppDefinitions

github.com

Мои видео

Boosty.toYouTube | Yandex.Дзен | RuTube | VK Video

Больше видео на boosty Calabonga, а если хотите тоже получать донаты, тогда заходите и регистрируйте свою страницу на boosty. Я использую хостинг reg.ru, Подключайся с промокодом 9A17-953A-8591-CF98 чтобы получить скидку 5%

Комментарии к статье отключены

Что-то пошло не по сценарию и завершилось ошибкой. Перезагрузить страницу (F5) 🗙

Переподключаем сервер...

Переподключение сломалось... Пробуем еще раз сек.

Не получилось переподключится.
Пожалуйста, обновите страницу F5

Сессия была поставлена сервером на паузу.

Восстановить сессию не получилось.
Пожалуйста, обновите страницу F5.