【问题标题】:Configure instance before injection注入前配置实例
【发布时间】:2020-02-04 23:50:31
【问题描述】:

在控制台项目的Main方法中添加windows服务支持:

var myVariable = "example";
Host.CreateDefaultBuilder().ConfigureServices((hostContext, services) =>
{
    services.AddHostedService<Worker>();
}).UseWindowsService().Build().Run();

工人阶级:

public class Worker : BackgroundService
{
....
    protected override Task ExecuteAsync(CancellationToken stoppingToken)
    {
        // Need to use myVariable here
    }
}

如何将myVariable 传递给工人类实例?

【问题讨论】:

标签: c# dependency-injection


【解决方案1】:

如果我误解了,请告诉我,但如果您的工作人员定义了适当的构造函数:

public class Worker : IWorker 
{
     private readonly string example = String.Empty;
     public Worker(string example) => this.example = example;

     ...
}

当你进行依赖注入时,你会按照以下方式做一些事情:

var example = "Passed?";
services.AddSingleton<IWorker>(configure => new Worker(passed));

我相信这就是您要询问的内容。

【讨论】:

    猜你喜欢
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多