Зачем использовать асинхронный с QueueBackgroundWorkItem?
В чем выгода использованияasync
с ASP.NETQueueBackgroundWorkItem
метод?
HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =>
{
var result = await LongRunningMethodAsync();
// etc.
});
Насколько я понимаю, асинхронные функции используются для предотвращения блокирования основного потока в длительных задачах. Однако, в этом случае мы не выполняем задачу в ее собственном потоке так или иначе? В чем преимущество перед не асинхронной версией:
HostingEnvironment.QueueBackgroundWorkItem(cancellationToken =>
{
var result = LongRunningMethod();
// etc.
});