I am using a Task
with a CancellationTokenSource
provided, and within my task I always check if cancellation is requested and stop executing if requested - in the parts of the code that I control. The problem is that within this task, I use very long running methods from libraries that don't support cancelling and were compiled for .NET 3.5 (I'm using 4.5.1).
Depending on the input, these methods can run for several minutes (sometimes 10+). I don't want to let so much processing go to waste if the result is never going to be used.
Is there any other way to forcefully terminate a Task
? Perhaps I am better off making a thread within my task just to run these methods, and kill those threads whenever cancellation is requested.