C
C# Ready | Unity
@csharp_ready10.1K подп.
2.1Kпросмотров
21.1%от подписчиков
18 марта 2026 г.
question📷 ФотоScore: 2.3K
Почему CancellationToken бесполезен, если не передать его дальше? Многие принимают CancellationToken в методе, но потом просто не используют его в реальной async-операции. В итоге создаётся ощущение, что отмена у нас поддерживается, хотя на практике запрос в базу или внешний сервис всё равно продолжает выполняться. То есть клиент уже закрыл страницу или отменил запрос, а сервер всё ещё тратит ресурсы на работу, результат которой уже никому не нужен. public async Task<List<Order>> GetOrders(CancellationToken ct) { return await _db.Orders .Where(x => x.IsActive) .ToListAsync(); } Чтобы отмена действительно работала, токен нужно прокидывать до самого места, где выполняется операция. public async Task<List<Order>> GetOrders(CancellationToken ct) { return await _db.Orders .Where(x => x.IsActive) .ToListAsync(ct); } CancellationToken полезен не тогда, когда он просто есть в сигнатуре, а тогда, когда реально доходит до ToListAsync, SendAsync, ReadAsync и других операций, которые можно остановить. 🔥 Если токен не дошёл до реальной работы — отмена у тебя существует только на бумаге. ➡️ C# Ready | #совет
2.1K
просмотров
1157
символов
Нет
эмодзи
Да
медиа

Другие посты @csharp_ready

Все посты канала →