[英]Manual controller registration in ASP.NET Core dependency injection
我需要为某个控制器覆盖 ASP.NET Core 的默认注册。
我已经尝试了以下方法,但它从自动注册中解析了MyController
。
services.AddTransient((provider) => new MyController(...));
我怎样才能覆盖这个?
默认情况下,控制器使用类型 activation解析,归结为框架使用等效的Activator.CreateInstance
来创建控制器实例。 这些控制器的依赖项来自 DI 容器,但控制器本身不是。
幸运的是,有一种方法可以让框架也使用 DI 用于控制器,使用AddControllersAsServices
。 这是一个示例(在ConfigureServices
):
services.AddMvc().AddControllersAsServices();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.