Search code examples
c#webclienthttpconnection

WebClient: how to cancel a long running HTTP request?


I'm using WebClient to make a request to an API that has a very long running process. But I don't actually need to know the result, I only need the process to be started.

It doesn't matter to me if the process succeeds or fails. So I want to drop the connection as soon as I have made the request.

How can I drop the webclient's connection? I don't want to wait 30 - 60 seconds for the response:

var client = new WebClient();
string url = "http://example.com/SomeVeryLongRunningProcess/parameter";
client.BeginDownloadString(uri);
client.DropConnection; // how do I drop the connection before the response is received?

Solution

  • You could use the: client.CancelAsync()