Hallo zusammen,
ich schraube zur Zeit an Plug-In Erweiterungen für unsere WebAPI herum. Das Plug-In System funktioniert super. Jetzt fände ich es allerdings genial, wenn ich einen Plug-In Controller schreiben könnte und dieser seine Aktionsmethoden einfach in eine bereits existierende Route "reinhängen" könnte.
Ein Beispiel:
Route-Template des existierenden Controllers:
~/AlteRoute/{action}/{id}
Route-Template des Plug-In Controllers:
~/AlteRoute/{action}/{id}
Leider kommt er beim Aufruf einer Plug-In Methode nicht mehr bis zum Plug-In Controller, sondern die WebAPI sucht nur im alten Controller und findet dort natürlich keine passende MEthode.
Ist das irgendwie möglich?
Gruß,
wax
ps: Ich habe es nur Ansatzweise hinbekommen, indem ich das RouteAttribute direkt an der Plug-In Methode gesetzt habe. Aber das ist in unserem Kontext schlecht umsetzbar, weil die Routen einen konfigurierbaren Präfix-Anteil haben und ich diesen halt an der Stelle nicht hart kodieren kann/will.
Eigenen Route Resolver (Controller Discovery) schreiben.
Ansonsten ist das nicht möglich, da Routen initial geladen werden.
Eine Route kann übrigens nicht doppelt vergeben werden.
Erster Match greift.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code