Both methods call InternalDownloadFile, which accepts both a download callback and a cancellation token.
However:
DownloadFileAsync does not support a download callback.
BeginDownloadFile does not support a cancellation token.
Is there a specific reason for this design?
I'm struggling to implement a sequential download of multiple files with a global timeout (for example, a timeout that applies to the entire download process across all files) along with progress reporting. With the current API, this seems unnecessarily challenging.
Please note that I'm not a very advanced user of async in c#. If the above does not make sense, I would appreciate advice on how to do it better.