Olá pessoal.
Tenho uma aplicação que roda em segundo plano em .NET Core 3.0 e preciso pegar um parâmetros quando for executado via prompt, porém estou tendo uma dificuldade nisso.
MNa minha inicial "Program" consigo intercepitar os parâmetro normalmente
public class Program
{
public static async Task Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
Console.WriteLine("Start App");
Console.WriteLine();
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine($"Arg[{i}] = [{args[i]}]");
}
Console.WriteLine();
Console.WriteLine("End App");
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
}
Mas preciso passar os valores quando houver para minha classe de serviço e posteriormente tratar essas informações recebidas.
public class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
public Worker(ILogger<Worker> logger)
{
_logger = logger;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
await Task.Delay(1000, stoppingToken);
}
}
}
Se alguém puder ajudar. Desde já obrigado