Ich habe einen Web-API-Controller, sagen wir EmployeeController
, die wir mit Autofac registrieren. Jetzt erstellen wir einen anderen Controller mit dem gleichen Namen und der gleichen Route, jedoch mit unterschiedlicher Funktionalität. Wenn wir versuchen, diese neue EmployeeController
(das heißt Plugin) registrieren mit Autofac, würden wir eine Ausnahme wieWie ein Plugin WebAPI eine bestehende WebAPI überschreiben kann
mehrere Arten gefunden wurden erhalten, die den Controller
EmployeeController
dem Namen übereinstimmen.
Mein Ziel ist es, den zweiten Controller erfolgreich zu injizieren und damit die Funktionalität des ersten Controllers zu übersteuern.
Projekt A -> Kernprojekt
namespace Main.API
{
public class EmployeeController : ApiController
{
// Some Logic
}
}
Projekt B -> Plug-in-Projekt
Später Verbraucher wollen
Mitarbeiter Controller mit dem gleichen Controller-Namen zu überschreibennamespace Plugin.API
{
public class EmployeeController : ApiController
{
// Some Logic
}
}
Autofac
// assemblies contains Main.API.dll & Plugin.API.dll
builder.RegisterApiControllers(assemblies.ToArray()).InstancePerRequest();
Ich denke, Sie werden ne benutzerdefinierte Registrierungsquelle dafür arbeiten. http://docs.autofac.org/en/latest/advanced/registration-sources.html – Jehof