Как вернуть ответ от Worker в .net core - PullRequest
0 голосов
/ 16 октября 2019

Я создал рабочий в ядре .net, который вычисляет ряд Фибоначчи. Но я должен быть в состоянии прочитать эту серию как ответ этого работника. И я очень новичок в этом, поэтому после нескольких часов исследований я не смог найти решение.

Вот мой код:

 public class FibonacciCalculateWorker : BackgroundService
{
    private readonly ILogger<FibonacciCalculateWorker> _logger;

    public FibonacciCalculateWorker(ILogger<FibonacciCalculateWorker> logger)
    {
        _logger = logger;
    }

    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        stoppingToken.ThrowIfCancellationRequested();

        await CreateFibonacciSeries();

    }
    public Task<string> CreateFibonacciSeries()
    {
        int a = 0, b = 1, c = 0;
        StringBuilder fiboSeries = new StringBuilder();
        fiboSeries.Append(a + "," + b);

        for (int i = 2; i < 50; i++)
        {
            c = a + b;

            fiboSeries.Append("," + c);
            a = b;
            b = c;
        }
        _logger.LogInformation(fiboSeries.ToString());
        return Task.FromResult(fiboSeries.ToString());
    }
}

И program.cs:

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

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
        .UseWindowsService()
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService<FibonacciCalculateWorker>();
            });

Любое предложение будет оценено.

...