Ist es möglich, ASP.NET Core DI zu konfigurieren, um alle Klassen aufzulösen? Ähnlich wie Autofac AnyConcreteTypeNotAlreadyRegisteredSource-Funktionalität.ASP.NET Core löst automatisch alle Abhängigkeiten
Ich kann Autofac in ASP.NET Core verwenden, aber ich möchte keine zusätzliche Bibliothek zu meiner Anwendung hinzufügen, weil ASP.NET Core bereits DI hat.
Also im Grunde statt:
services.AddTransient<MyService>();
services.AddTransient<MyAnotherService>();
Ich würde es vorziehen, so etwas wie zu tun:
services.ResolveAll();
Ich nehme an, es könnte getan werden, aber es gibt nicht schon einen bequemen Anruf, um es zu tun. Ich bin neugierig, was Ihr bestimmter Anwendungsfall dafür ist. Was versuchst du zu erreichen und warum denkst du, dass dies der beste Weg ist? –
@ErikNoren ist, wie ich normalerweise DI verwende. Ich bevorzuge keine dummen Schnittstellen. Wenn ich also nur eine Implementierung brauche, erstelle ich eine Klasse anstelle von Interface und Klasse (um Test-Frameworks oder DI-Frameworks glücklich zu machen). Und fast alle Projekte benötigen für einige Funktionen nicht mehrere Implementierungen. Also, wenn ich eine "Foo" -Klasse spritzen möchte, dann ist es nur "Foo" -Klasse, die ich habe. Und mein Ziel ist, DI überhaupt nicht zu konfigurieren. Eigentlich benutze ich Autofac für diese 'builder.RegisterSource (new AnyConcreteTypeNotAlreadyRegisteredSource());' –