【发布时间】:2020-11-20 00:07:12
【问题描述】:
我有一个解决方案,它包含一个 .NET Core Windows 服务项目。而且,我正在使用 .NET Standard 自定义 NuGet 包。我的代码结构如下:
public class MyCustomPackage
{
private readonly IDependentService;
private readonly ModelValues;
public MyCustomPackage(IDependentService service, ModelValues modelValues)
{
}
}
在上面的代码中,ModelValues 类是一个只包含属性的具体类。
在 Windows 服务项目中,我正在阅读应用程序设置部分并将值存储到一个模型类中,例如 ConfiguartionModelValues。
我已经使用 AutoMapper 编写了一个映射来将 ConfigurationModelValues 转换为 ModelValues。但我不确定如何在启动类中注入ModelValues 实例。
之前,我在构造函数中使用了IOptions<ModelValues>,因此可以使用services.Configure<ModelValues>(Configuration.GetSection("sectionName"));直接从配置部分注入。这工作正常,但我觉得它与应用程序设置文件紧密结合。所以为了避免我尝试不同的方法。
【问题讨论】:
标签: .net-core dependency-injection automapper startup concreteclass