Стоит добавить, если у вас есть какая-либо зависимость от внешнего ресурса.
Допустим, ваша база данных занята или у вас есть временные политики обработки ошибок / повторных попыток для вашего подключения к базе данных.Если конечный пользователь нажимает кнопку «Стоп» в своем браузере, токен отмены поможет корректно отменить все ожидающие операции (в вашем коде).
Меньше думайте об этом о длительной работе в нормальных условиях, но длительной работе вменее чем идеальные обстоятельства, например, если выполняется в Azure, а ваша база данных SQL проходит плановое обслуживание, а структура сущностей настроена на повторную попытку (при условии, что платформа Entity разумно реагирует на токены отмены).
В качестве примечания: структура устойчивости Pollyимеет отличную поддержку для внешних токенов отмены, чтобы координировать отмены повторов из внешнего отмены.Их вики стоит прочитать, так как они отлично подходят для координации отмены: https://github.com/App-vNext/Polly/wiki
Относительно CancellationToken ct = default(CancellationToken)
, это, вероятно, более полезно для библиотечного кода, чем для действия контроллера.Но удобно, если вы тестируете свой контроллер напрямую, но не хотите передавать токен отмены.Сказав, что WebHostBuilder testframework ядра .net легче тестировать, чем тестировать действия контроллера непосредственно в эти дни.