简体   繁体   English

在.Net 6 Worker服务中使用appsettings.json

[英]Using appsettings.json in .Net 6 Worker service

Is I wanted to add a singleton service that is dependent on appsettings.我想添加一个依赖于 appsettings 的 singleton 服务吗?

How would I do this in the.Net 6 worker service startup?我将如何在 .Net 6 worker 服务启动中执行此操作?

using AutoMapper;

var mapperConfig = new MapperConfiguration(mc =>
{
    mc.AddProfile(new MappingProfile());
});

IMapper mapper = mapperConfig.CreateMapper();

IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        services.AddHostedService<Worker>();
        services.AddSingleton(mapper);
        services.AddSingleton<IOrderNumberGenerator, OrderNumberGenerator>();

        services.AddSingleton(new ServiceIwantToCall(<--I need too use apsettings here-->));
    })
    .Build();

await host.RunAsync();

At the moment you're trying to register an instance of ServiceIwantToCall .目前您正在尝试注册ServiceIwantToCall的实例。 You can instead register a factory method to resolve one, and once it's resolved it will be a singleton. For example, this anonymous method:您可以改为注册一个工厂方法来解析一个,一旦它被解析,它将是一个 singleton。例如,这个匿名方法:

services.AddSingleton(serviceProvider => { 
    // resolve the configuration provider from the container
    IConfiguration config = serviceProvider.GetRequiredService<IConfiguration>();

    // get the config value and instantiate a ServiceIwantToCall
    // return the instantiated service
    string someValue = config["myValueKey"];
    return new ServiceIwantToCall(someValue);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 .Net Core Worker Service appsettings.json 未被读取 - .Net Core Worker Service appsettings.json not being read 如何在 Worker Service in.Net 3.1 中使用 appsettings.json - How to use appsettings.json in Worker Service in .Net 3.1 .Net Core 3.1 Worker Service 使用 Appsettings.json - .Net Core 3.1 Worker Service use Appsettings.json 发布为 windows 服务后,在 .net 核心 3.0 工作服务上获取 appsettings.json 值 - Get appsettings.json values on .net core 3.0 worker service after publish as windows service .NET 核心工作者 - 因为启用 Docker 撰写我的服务无法从 appsettings.json 读取 IAM 凭证 - .NET Core worker - since enabling Docker Compose my service can't read IAM credentials from appsettings.json 使用 AppSettings.json 和 Startup.cs 将服务引用注入 .NET - Inject Service Reference into .NET with AppSettings.json and Startup.cs 在服务 .net core 中获取 appsettings.json 值 - Get appsettings.json values in service .net core 使用 DI 和 appsettings.json 将 Nlog 日志记录到数据库 .NET 5.0 - Nlog log to database .NET 5.0 with DI and using appsettings.json 在.net核心的单元测试中使用和注入appsettings.json - Using and injecting from appsettings.json in unit tests on .net core 发送多个 appsettings.json 值的简单方法是通过工作人员发布到 .net 核心中的 API 值吗? - Easy way to send multiple appsettings.json values through worker posting to API in .net core?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM