У меня есть решение с консольным приложением. NET Core 3.1, которое использует Autofa c в качестве контейнера Io C. В этом решении содержится около 50 проектов в виде библиотек классов, на которые ссылаются в Autofa c в качестве модулей. Сейчас я создаю новый модуль, который запустится. NET Базовый веб-API, который будет предоставлять данные из базы данных и других работающих модулей.
Новый модуль веб-API объявлен следующим образом:
public class RESTModule : Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
builder.Register(c =>
{
return Host.CreateDefaultBuilder(new string[] { })
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseConfiguration(c.Resolve<IConfiguration>());
webBuilder.UseStartup<Startup>();
})
.Build();
}).SingleInstance();
}
}
И мой вопрос:
Возможно ли добавить существующий экземпляр Autofa c со всеми модулями, конфигурациями и базами данных к экземпляру этого созданного WEB API, не добавляя эти вещи вручную снова при запуске?
Спасибо
Примечание:
- . NET Приложение основной консоли -> загрузка модулей из конфигурации
- загружен модуль 1 (база данных 1) как IDatabase1
- загружен модуль 2 (база данных 2) как IDatabase2
- загружен еще 40 модулей
- и загруженный новый модуль RESTModule , где я буду использовать IDatabase1 , IDatabase2 и еще 10 работающих модулей