在 RunAsync(CancellationToken) 后台方法中,当前代码正在生成新线程,并且在 while(true) 循环中还有一些长时间运行的任务。
Web api 控制器公开提供取消请求,然后使用入队/出队,此请求在 RunAsync(cancellationToken) while(true) 循环中访问。
我只是无法在接收此取消请求的 web api 控制器与传递给 runasync 方法内运行的线程的取消令牌之间建立连接。
RunAsync(cancellationToken)
{
while(True)
{
new thread(cancellationtoken)
}
}
我很确定的一件事是,用户以某种方式调用的取消请求与作为 RunAsync() 的参数的 cancelToken 之间没有联系,如上面的代码所示。似乎它们没有连接。我们不想在用户取消请求时退出 RunAsync() 后台的永远循环,这仅适用于特定线程运行。
请指导我正确的方向来设计终止线程的取消请求。