有没有办法攻击某种全局记录器,以便我知道每个WebAPI请求需要多长时间?
答案 0 :(得分:1)
是的,请查看MiniProfiler。
它也有很多不同的适配器 - 例如,我已经将它与ServiceStack / Dapper一起使用,但它也适用于MS vanilla WebApi / EF。
在localhost(或用于在全局应用类中启用探查器的任何条件)上,当您在浏览器中点击站点URL时,您将在右上角获得一个ui小部件,详细说明总请求时间,序列化时间和数据库执行时间(包括执行的实际sql)。
要查看最近100个请求,请浏览:
~/mini-profiler-resources/results
对于更强大的存储,有选项here - 开箱即用支持sql server。使用此create script,然后为MiniProfiler设置存储提供程序:
MiniProfiler.Settings.Storage = new SqlServerStorage("..connectionstring...");
或use Sqlite开箱即用
您甚至可以设置多个存储选项。 Examples here
添加探查器ui以查看请求时,它应该看起来像这样