我开发了一个基于C#的Windows服务,它在几个不同的任务中运行所有逻辑。为了在停止时使服务优雅地关闭,我使用了一个CancellationToken,将其传递给任何接受它的函数(主要是我正在使用的第三方库),以便在完成之前中止处理。
我注意到,当在调用函数时请求取消时,这些函数都不会抛出OperationCanceledException异常,因此我的应用程序会继续执行,直到我在代码的其他位置调用ThrowIfCancellationRequested()方法。我应该在调用每个这样的函数后手动调用ThrowIfCancellationRequested()方法,以确保任务尽快停止,或者我应该在自己的代码中什么时候调用ThrowIfCancellationRequested()方法?
我注意到,当在调用函数时请求取消时,这些函数都不会抛出OperationCanceledException异常,因此我的应用程序会继续执行,直到我在代码的其他位置调用ThrowIfCancellationRequested()方法。我应该在调用每个这样的函数后手动调用ThrowIfCancellationRequested()方法,以确保任务尽快停止,或者我应该在自己的代码中什么时候调用ThrowIfCancellationRequested()方法?