我必须通过取消令牌停止API执行,在我的方法中没有for循环来检查每次取消请求,如何实现它。我正在使用 .NET core API
我已经尝试过以下代码
private string GetData(CancellationToken cancellationToken)
{
try
{
if (cancellationToken.IsCancellationRequested)
{
_cts.Cancel();
return "Task Cancelled";
}
if (condition)
{
//Business Logic
}
else
{
//Business Logic
}
}
catch (Exception e)
{
return e.Message.ToString(); ;
}
}
我们可以使用 CancellationToken 来停止 API 的执行,而无需使用循环。关键是在正确的地方检查取消请求并采取行动(例如抛出异常或直接返回)来终止任务。
private string GetData(CancellationToken cancellationToken)
{
try
{
if (cancellationToken.IsCancellationRequested)
{
throw new OperationCanceledException("Task was canceled.");
}
if (condition)
{
// Business Logic
}
else
{
// Business Logic
}
return "Data Retrieved Successfully";
}
catch (OperationCanceledException)
{
return "Task Cancelled";
}
catch (Exception e)
{
return e.Message;
}
}