У меня есть вопрос о DI на Worker Service, который ответил на другой пост ниже.
.NET Core 3 Worker Service Settings Внедрение зависимостей
что делать, если я хочу добавить некоторый вспомогательный класс и зарегистрирован, как показано ниже. Как я могу использовать этот вариант инъекции. потому что я думаю, я что-то упустил ...
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostContext, config) =>
{
// Configure the app here.
config
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", optional: true);
config.AddEnvironmentVariables();
Configuration = config.Build();
})
.ConfigureServices((hostContext, services) =>
{
services.AddOptions();
services.Configure<MySettings>(Configuration.GetSection("MySettings"));
services.AddSingleton<RedisHelper>();
services.AddHostedService<Worker>();
});
}
В классе RedisHelper есть конструктор, такой как Worker.
public static MySettings _configuration { get; set; }
public RedisHelper(IOptions<MySettings> configuration)
{
if (configuration != null)
_configuration = configuration.Value;
}