【发布时间】:2019-07-08 15:44:04
【问题描述】:
如何使用内置的 ASP.Net 依赖注入将类的类型注入其依赖项之一?
在 Startup.Configure 我有:
services.AddTransient<ILogger>(x => new Logger(???));
我的班级需要一个 Logger 实例
public class ExampleController : ControllerBase
{
public Example(ILogger logger)
{
...
}
}
Logger 构造函数应该在我写“???”的地方接收 typeof(Example),除了这应该适用于所有接收记录器的类。
这个问题与this 非常相似,但我使用的是内部 ILogger 接口和 Logger 类,而不是使用 ninject。我实际上不想在另一个问题中复制 ninject 的“context.Request.ParentContext.Plan.Type”。
【问题讨论】:
-
您使用的是哪个记录器,以及上面的示例是什么?因为 Example : Controller 与 Example 使用内置 DI Container for Core 的工作方式非常不同。
-
我已更新我的代码和问题以澄清。是的,这个类应该是一个控制器。记录器不是 Microsoft.Extensions.Logging。
-
Serilog 是偶然的吗?
标签: c# asp.net-core dependency-injection