簡體   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