Goa*_*ine 6 c# asynchronous stopwatch async-await
我正在写一些性能测试,并希望能够为异步的方法计时.代码看起来像这样,其中action是Func<Task<HttpResponseMessage>>:
var sw = new Stopwatch();
HttpResponseMessage response = null;
sw.Start();
response = await action().ConfigureAwait(continueOnCapturedContext: false);
sw.Stop();
Run Code Online (Sandbox Code Playgroud)
代码编译并运行正常,但测量的毫秒数比我们在Fiddler中看到的请求时间高约100倍 - Fiddler报告200-300ms,但秒表报告~30,000ms.有关定时异步方法的问题吗?解决方案是在动作本身进行计时(这会很烦人吗?)
这应该可以很好地测量异步任务完成所需的真实时间。您需要记住: