1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/WuYeCai-pluginfactory

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Плагины:

* **PluginA:**
    * **TestConfig:** «Hello World».

Расширение PluginA для реализации конфигурации:

  1. Определите класс конфигурации, например, PluginOptions:
public class PluginOptions
{
    public string TestConfig { get; set; }
}
  1. Реализуйте плагин:
[Plugin(Alias = "PluginA", Description = "Тестовый плагин")]
public class Plugin : SupportConfigPluginBase<PluginOptions>, ISupportInitPlugin
{

    public Plugin(IOptionsMonitor<PluginOptions> options) : base(options)
    {
    }

    public void Init(IPluginInitContext context)
    {
        // 注入 сервиса
        //context.ServiceCollection.TryAddScoped<ICustomerService>();
        Console.WriteLine($"Init 插件 конфигурации: {Options.TestConfig}");
    }

    public override Task StartAsync(IPluginContext context)
    {
        Console.WriteLine("Плагин A запущен");
        Console.WriteLine($"StartAsync 插件 конфигурации: {Options.TestConfig}");
        return base.StartAsync(context);
    }

    public override Task StopAsync(IPluginContext context)
    {
        Console.WriteLine("Плагин A остановлен");
        return base.StopAsync(context);
    }
}

Обратите внимание: в методе инициализации плагина также можно использовать внедренную конфигурацию. 3. Межплагинная конфигурация:

Некоторые конфигурации могут потребоваться нескольким плагинам. В этом случае вы можете объединить их в узле _Share под Plugins. Доступ к этой конфигурации можно получить через PluginOptions.

{
  "Plugins": {
    "PluginA": {},
    "_Share": {
      "TestConfig": "Hello World"
    }
  }
}

Плагинирование ASP.NET Core

Чтобы ASP.NET Core мог получить доступ к контроллерам плагина, достаточно добавить программную сборку плагина в MVC в методе инициализации плагина Init:

context.ServiceCollection.AddMvcCore()
    .AddApplicationPart(typeof(Plugin).Assembly);

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/WuYeCai-pluginfactory.git
git@api.gitlife.ru:oschina-mirror/WuYeCai-pluginfactory.git
oschina-mirror
WuYeCai-pluginfactory
WuYeCai-pluginfactory
master