繁体   English   中英

在 ASP.NET Core 依赖注入中手动注册控制器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM