ASP.NET Core 中的 ContinueWith 我应该使用哪个任务调度程序

Which task scheduler should I use for ContinueWith in ASP.NET Core

我编写了一个简单的去抖器,用于 ASP.NET Core 5(检测配置文件的更改)。这将在 Startup class 内使用。效果不错。

但是我收到分析器警告:

Do not create tasks without passing a TaskScheduler csharp(CA2008)

问题代码:

Task.Delay(TimeSpan.FromSeconds(2)).ContinueWith(
  task => someAction(),
  cancellationToken
);

我应该使用以下哪些选项,它们有何不同?

Task.Delay(TimeSpan.FromSeconds(2)).ContinueWith(
  task => someAction(),
  cancellationToken,
  TaskContinuationOptions.None,
  TaskScheduler.FromCurrentSynchronizationContext()             // <---
);
Task.Delay(TimeSpan.FromSeconds(2)).ContinueWith(
  task => someAction(),
  cancellationToken,
  TaskContinuationOptions.None,
  TaskScheduler.Default                                          // <---
);

根据 this,ASP.NET 核心没有 SynchronizationContext

所以根据@MatthewWatson 上面的评论,可以使用TaskScheduler.Default