0

I have a button which was designed to start and stop a Task like this:

public bool cancelFlag = false;
private void btn_Find_Click(object sender, RoutedEventArgs e)
{
    var tokenSource = new CancellationTokenSource();
    var token = tokenSource.Token;

    if(cancelFlag)
    {
        cancelFlag = false;
        tokenSource.Cancel();
        Hint("Searching Canceled!");
    }
    else
    {
        cancelFlag = true;
        Hint("Start Searching...");
    }

    Task.Factory.StartNew(() =>
        {
            if(!token.IsCancellationRequested)
            {
                Matching_Process_Thread();
            }
            else
            {
                return;
            }
        }, token);
}

But the above code failed to cancel the task, could you please tell me how to fix this code. Thanks in advance!

0 Answers0