I have the following code
DateTime startSendRequest;
DateTime endSendRequest;
DateTime startWaitingResponse;
DateTime endWaitingResponse;
DateTime startGetResponse;
DateTime endGetResponse;
HttpResponseMessage response;
startSendRequest = DateTime.UtcNow;
var responseTask = HttpClient.GetAsync("Test/GetFile");
endSendRequest = DateTime.UtcNow;
startWaitingResponse = DateTime.UtcNow;
response = await responseTask;
endWaitingResponse = DateTime.UtcNow;
startGetResponse = DateTime.UtcNow;
var fs = new FileStream(@"C:\test\SampleFile.txt", FileMode.Create, FileAccess.Write, FileShare.None);
await response.Content.CopyToAsync(fs);
endGetResponse = DateTime.UtcNow;
It seems to me that the startWaitingResponse and endWaitingResponse variables are calculating the total response time (with download file), rather than waiting for a response. Is it possible to calculate "waiting response for download" and "download time"?