Реализация плагинов для ASP.NET Core Web API
HTML-код
- Опубликовано: 11 авг 2023
- Упражнения на тему - Реализация плагинов Web API на базе ASP.NET Core. Итак, основные принципы работы плагинов:
Одно главное приложение (Shell - оболочка)
* Умеет находить загружать плагины
* Умеет трансформировать UI на основании загруженных данных
* Умеет управлять доступом (например, на базе ролевой модели)
* Умеет устроить обмен сообщениями между плагинами
Много плагинов
* Умеет делать «полезную работу»
* Умеет понимает настройки доступа
* Умеет проверять наличие новой версии (загружать обновления)
* Умеет «слушать» сообщения от Shell и «отправлять» свои сообщения
Продолжение темы на видео:
boosty.to/calabonga/posts/b26...
Благодарности и помощь каналу принимаются:
www.calabonga.net/site/thanks
Наши видео доступны и на Дзен:
dzen.ru/calabonga
Можно стать спонсором, и вы получите доступ к эксклюзивным бонусам:
* boosty.to/calabonga
Я использую хостинг Reg.ru
htttps://reg.ru/?rlink=reflink-11163551
Прикольная штука. Думаю в хозяйстве пригодится.
Точно приходится!!! Уверен!
Добрый день.Подскажите можно ли подключать в плагины сторонние библиотеки? И если да, то можно ли подключать библиотеки разных версий. Например сделать плагин с mssql, другой плагин с PostreSql и 2 плагина с разными версиями RestSharp. Спасибо за ролик.
Сомневаюсь, что сторонние библиотеки поддерживаю AppDefinition. Видимо, нельзя. Но если вы оптимизмруте сторонние под использование AppDefinition, то ничто не помешает "склеить" модули в shell
А какую Вы тему для студии использовали, чтобы брэкеты зеленым подсвечивались?
Для этого нужно установить marketplace.visualstudio.com/items?itemName=MadsKristensen.RainbowBraces
и в настройках поставить цвет, который вам больше всего нравится :)
Здравствуйте, спасибо за удобную библиотеку. Есть вопрос, почему Logger добавляется отдельно перед вызовом AddDefinitions, в не в виде отдельного дефинишина (напр. SerilogDefinition или в CommonDefinition)? Так показано и в примерах, и в вашем template.
Можно конечно написать такой Definition, но не будет работать LogDebug в AddDefinitions, т.к. GetRequiredService вызывается перед применением ConfigureServices во всех дефинишинах, то есть расчитывается, что логгер уже добавлен. А если перенести вызов GetRequiredService после применения всех ConfigureServices, тогда и дебаг работает.
Или есть какие-то причины, почему логгер добавляется отдельно?
Если ваше пложение стартует без ошибок, то логгер можно также как и остальное зарегистрировать как отдельный Definition. A вот если будут проблемы во время старта, то вероятность того, что вы увидите в логах информацию о случившейся проблеме - очень не велика :(
@@SergeiCalabonga понял, спасибо за ответ :)
@@aristocrab 👍