Базовая фоновая служба ASP.Net с очередью задач, нужна ли ей Task.Delay?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Базовая фоновая служба ASP.Net с очередью задач, нужна ли ей Task.Delay?

Сообщение Anonymous »

Я следил за документацией Microsoft о том, как реализовать BackgroundService с очередью задач, но заметил, что в основном цикле нет Task.Delay, это проблема или он все равно будет работать нормально?
Это класс обслуживания, о котором идет речь:

Код: Выделить всё

public class BackgroundTasksService : BackgroundService
{
public IBackgroundTaskQueue TaskQueue { get; }

public BackgroundTasksService(IBackgroundTaskQueue taskQueue)
{
TaskQueue = taskQueue;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
await BackgroundProcessing(stoppingToken);
}

private async Task BackgroundProcessing(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
var workItem =
await TaskQueue.DequeueAsync(stoppingToken);

try
{
await workItem(stoppingToken);
}
catch (Exception ex)
{
}
}
}

public override async Task StopAsync(CancellationToken stoppingToken)
{
await base.StopAsync(stoppingToken);
}
}
Этот код был взят из
https://learn.microsoft.com/en-us/aspne ... ost/hosted -services?view=aspnetcore-5.0&tabs=visual-studio#queued-background-tasks

Подробнее здесь: https://stackoverflow.com/questions/691 ... task-delay
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»