Как использовать CancellationTokenSource в Parallel.ForEachAsync ⇐ C#
Как использовать CancellationTokenSource в Parallel.ForEachAsync
Having this handler :
public async Task Handle(MyQuery request, CancellationToken cancellationToken) { var cancellationTokenSource = new CancellationTokenSource(); await Parallel.ForEachAsync(myList, async (objectId, _) => { var result = await _service.GetObject(objectId); if (result.Any()) { cancellationTokenSource.Cancel(); } }); if (cancellationTokenSource.IsCancellationRequested) return Result.Fail("Error message."); return Result.Ok(); } This works, but was wondering if I'm using CancellationTokenSource correct here?
Источник: https://stackoverflow.com/questions/780 ... reachasync
Having this handler :
public async Task Handle(MyQuery request, CancellationToken cancellationToken) { var cancellationTokenSource = new CancellationTokenSource(); await Parallel.ForEachAsync(myList, async (objectId, _) => { var result = await _service.GetObject(objectId); if (result.Any()) { cancellationTokenSource.Cancel(); } }); if (cancellationTokenSource.IsCancellationRequested) return Result.Fail("Error message."); return Result.Ok(); } This works, but was wondering if I'm using CancellationTokenSource correct here?
Источник: https://stackoverflow.com/questions/780 ... reachasync
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение