c# - 控制器基类中的依赖注入不起作用
问题描述
这是我的一个 Web API 控制器的示例(为清楚起见,未显示其方法):
public class TestController : ControllerBase
{
private readonly ILogger<TestController> _logger;
public TestController(ILogger<TestController> logger)
{
_logger = logger;
}
}
我想使用自定义基本控制器,其他控制器将从中派生。该控制器将为所有其他控制器提供日志记录对象。这是我的新代码:
public class TestController : AppControllerBase<TestController>
{
public TestController()
{
}
}
public class AppControllerBase<T> : ControllerBase // compilation error here
{
protected readonly ILogger<T> _logger;
public AppControllerBase(ILogger<T> logger)
{
_logger = logger;
}
}
但是,这会导致编译错误:
CS7036
没有给出与 'AppControllerBase.AppControllerBase(ILogger) 所需的形式参数 'logger' 相对应的参数
我希望 DIILogger<TestController>
在基类构造函数中提供,但似乎并非如此。
我该如何解决这个问题?
解决方案
推荐阅读
- c# - 数据网格文本框值未使用 ObservableCollection 更新
- python-3.x - 如何在不阻塞整个应用程序的情况下读取单个击键?
- javascript - 地理数据解决方案下拉生成器的问题
- r - Rdieharder 文本文件作为输入
- blockchain - Corda Vault 查询(Java 代码)需要什么导入
- java - 使用 Arraylist 在 Java 中创建登录系统
- angular - setInterval 后调用函数
- sas - 如何从 Atom 代码编辑器在 SAS Base 中运行代码
- typescript - 如何正确索引和修改通用部分
- css - 如何在组件刷新时添加 LinkedIn Badge DOM 更改代码