我想在ASP.NET核心应用程序中创建自己的IControllerFactory和IActionInvoker实现。如何用我的自定义类替换默认实现?
我找到了旧版MVC ControllerBuilder.Current.SetControllerFactory
的解决方案,但在ASP.NET核心中无法找到解决方法。
我相信我应该在Startup =>中配置它。 ConfigureServices
答案 0 :(得分:6)
我通过调用
找到了解决方案services.AddSingleton<Microsoft.AspNetCore.Mvc.Controllers.IControllerFactory, MyOwnImplementationClassOfControllerFactory>();
在致电services.AddMvc();
之前
其中MyOwnImplementationClassOfControllerFactory
是从DefaultControllerFactory
派生的IControllerFactory的自定义实现。
我使用了singleton,因为我发现default implementation使用了以下调用services.TryAddSingleton<IControllerFactory, DefaultControllerFactory>();