【发布时间】:2020-06-23 06:25:14
【问题描述】:
我有一个不是 Blazor 组件的后台类,我想使用内置记录器 (ILogger) 服务。
我不能在属性上使用“[Inject]”(因为它不是组件),也不能使用支持的构造函数注入,因为构造函数还有其他参数(即不仅仅是单个 ILogger 参数)。我一直在寻找可以在构造函数中使用但找不到任何东西的“Application.GetService”(类似于我使用的其他 IOC 实现)。
有什么想法吗?
【问题讨论】:
-
I can’t use the supported constructor injection because the constructor has other parameters- 这并不意味着您不能在必要时再添加一个。 -
@RogerWolf - 抱歉,我不清楚 - 我的班级实现了一项服务,我希望在 Startup 中使用 AddSingleton 来管理该服务。 DI 上的文档声明如下:“必须存在一个构造函数,其参数都可以由 DI 实现。如果指定了默认值,则允许 DI 未涵盖的其他参数。”我需要指定那些额外的参数,我不能依赖默认值。
标签: dependency-injection blazor