小编use*_*090的帖子

.net core 3.1 WorkerService 未加载配置选项/设置

使用 WorkerService (.net core 3.1) 的库存项目模板我无法开始IOptions<x>工作。

这是一个最小的复制:

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseConsoleLifetime()
            .ConfigureServices((hostContext, services) =>
            {
                services.AddOptions();
                services.AddHostedService<Worker>();
            });
}
Run Code Online (Sandbox Code Playgroud)

邮件设置

public class mailsettings
{
    public string smtpserver { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

工人

public class Worker : BackgroundService
{
    private readonly mailsettings _mailsettings;

    public Worker(IOptions<mailsettings> mailsettings)
    {
        _mailsettings = mailsettings.Value;
    }

    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        while (!stoppingToken.IsCancellationRequested)
        {
            Console.WriteLine($"MailSettings …
Run Code Online (Sandbox Code Playgroud)

c# background-service .net-core

2
推荐指数
1
解决办法
1156
查看次数

标签 统计

.net-core ×1

background-service ×1

c# ×1