【发布时间】:2021-10-03 13:35:18
【问题描述】:
我有以下代码
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;
在我看来,startWaitingResponse 和 endWaitingResponse 变量正在计算总响应时间(带有下载文件),而不是等待响应。 是否可以计算“等待下载响应”和“下载时间”?
【问题讨论】:
-
(连续两次从
DateTime.UtcNow分配看起来值得商榷。我不喜欢这样增加时间的侵入性。)
标签: c# dotnet-httpclient