habe zwei FragenAutofac. RegisterType nach .build und registrieren/beheben Liste
- Wie richtig builder.RegisterType (..) nach ApplicationContainer = builder.Build()
builder.Update (ApplicationContainer) Veraltet ist
public IServiceProvider ConfigureServices(IServiceCollection services)
{
...
builder.RegisterType<DB>();
ApplicationContainer = builder.Build();
}
public void Configure()
{
//Get list of types assigned from IPlugin
List<Type> types = PluginLoader.LoadPlugins(); <--- will need DB registered early
foreach (var item in plugins)
{
builder.RegisterType(item);
}
builder.Update(ApplicationContainer); <-- .Update() is Obsolete
}
- Wie bekommen alle IPlugin
public Manage(DB _db, IEnumerable<IPlugin> plugins)
{
}
- Resolve nach Typ in jedem Ort
public void Manage(Type type)
{
var IPlugin plugin = (IPlugin) GlobalResolve.Resolve(type);
}
Aktualisieren Sie Ihre bestehende Konfiguration, nachdem es gebaut wurde, ist eine schlechte Idee, deshalb ist diese Methode veraltet. Sie sollten das Laden Ihrer Plugins in die ConfigureServices-Methode verschieben. – Steven
@Steven Ich brauche DB (und andere registrierte) in PluginLoaderbuilder.RegisterType(); –
Erstellen Sie 'PluginLoader' manuell in' ConfigureServices'. – Steven