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