Reporting environment:
The problem: I have a table that has several million records. I have a report with parameters to query those records. Example on a sales report: Customer (All or specific customer) and Product (All or specific product) and date range. If by mistake the user selects all customers, all products, and a date range of 10 years, he may get millions of records for the report. After several seconds he realizes that he entered the wrong parameters and wants to cancel the report. There is no way to cancel. The solution was to run this in another thread and kill the process. That seems like a hack and doesn’t stop the web request so the web service keeps working even after the report has been killed.
Change request: Allow canceling in two ways:
The web data source should implement the “Cancellation Token” and cancel the web request when the report is canceled. Postman, browsers, and other tools use this technique so that the web service understands that the data is no longer needed and it can stop the request.
Some links explaining how to implement Cancellation Tokens: