Реализация плагинов для 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

Комментарии • 11

  • @user-yo7mw6oj4p
    @user-yo7mw6oj4p 10 месяцев назад +2

    Прикольная штука. Думаю в хозяйстве пригодится.

    • @SergeiCalabonga
      @SergeiCalabonga  10 месяцев назад

      Точно приходится!!! Уверен!

  • @DarkParadoX00
    @DarkParadoX00 10 месяцев назад

    Добрый день.Подскажите можно ли подключать в плагины сторонние библиотеки? И если да, то можно ли подключать библиотеки разных версий. Например сделать плагин с mssql, другой плагин с PostreSql и 2 плагина с разными версиями RestSharp. Спасибо за ролик.

    • @SergeiCalabonga
      @SergeiCalabonga  10 месяцев назад

      Сомневаюсь, что сторонние библиотеки поддерживаю AppDefinition. Видимо, нельзя. Но если вы оптимизмруте сторонние под использование AppDefinition, то ничто не помешает "склеить" модули в shell

  • @semen083
    @semen083 9 месяцев назад

    А какую Вы тему для студии использовали, чтобы брэкеты зеленым подсвечивались?

    • @SergeiCalabonga
      @SergeiCalabonga  9 месяцев назад +1

      Для этого нужно установить marketplace.visualstudio.com/items?itemName=MadsKristensen.RainbowBraces
      и в настройках поставить цвет, который вам больше всего нравится :)

  • @aristocrab
    @aristocrab 10 месяцев назад

    Здравствуйте, спасибо за удобную библиотеку. Есть вопрос, почему Logger добавляется отдельно перед вызовом AddDefinitions, в не в виде отдельного дефинишина (напр. SerilogDefinition или в CommonDefinition)? Так показано и в примерах, и в вашем template.
    Можно конечно написать такой Definition, но не будет работать LogDebug в AddDefinitions, т.к. GetRequiredService вызывается перед применением ConfigureServices во всех дефинишинах, то есть расчитывается, что логгер уже добавлен. А если перенести вызов GetRequiredService после применения всех ConfigureServices, тогда и дебаг работает.
    Или есть какие-то причины, почему логгер добавляется отдельно?

    • @SergeiCalabonga
      @SergeiCalabonga  10 месяцев назад

      Если ваше пложение стартует без ошибок, то логгер можно также как и остальное зарегистрировать как отдельный Definition. A вот если будут проблемы во время старта, то вероятность того, что вы увидите в логах информацию о случившейся проблеме - очень не велика :(

    • @aristocrab
      @aristocrab 10 месяцев назад

      @@SergeiCalabonga понял, спасибо за ответ :)

    • @SergeiCalabonga
      @SergeiCalabonga  10 месяцев назад

      @@aristocrab 👍