Vorrei creare un sistema di plugin per consentire l'aggiunta di nuovi controller in fase di runtime. Questi saranno api controller e non visualizzazioni.
So che posso aggiungere controller da altri assembly all'avvio usando quanto segue e questo funziona.
public void ConfigureServices(IServiceCollection services)
{
//Add Controllers
var controllerAssemblies = new List<Assembly>() { typeof(Startup).Assembly };
controllerAssemblies.AddRange(_configSettings.GetCustomAssemblies();
services.WithControllersAsServices(controllerAssemblies);
}
Tuttavia, devo essere in grado di aggiungere nuovi controller in fase di runtime senza riavviare l'applicazione.
L'utente dovrebbe caricare un nuovo plug-in e quindi vorrei caricarlo in modo che possa essere utilizzato immediatamente senza riavviare o influenzare altri utenti che attualmente utilizzano il webservice.