ASP.NET Core 2.2 WebApi 系列【五】MiniProfiler与Swagger集成

MiniProfiler

是一款性能分析的轻量级程序,可以基于action(request)记录每个阶段的耗时时长,还是可以显示访问数据库时的SQL(支持EF、EF Code First)等

一、安装程序包

通过Nuget安装MiniProfiler :

Install-Package MiniProfiler.AspNetCore.Mvc

Install-Package MiniProfiler.EntityFrameworkCore

二、配置

在ConfigureServices方法中添加MiniProfiler服务,放在SwaggerGen方法之前

 
  1. // 添加MiniProfiler服务
  2. services.AddMiniProfiler(options =>
  3. {
  4. // 设定访问分析结果URL的路由基地址
  5. options.RouteBasePath = "/profiler";
  6. }).AddEntityFramework();//显示SQL语句及耗时

激活中间件,启用MiniProfiler服务 放在SwaggerUI之前

 
  1. //把它放在UseMvc()方法之前。
  2. app.UseMiniProfiler();

三、下载Swagger自定义页面

https://github.com/tenghao6/NetCoreWebApi/blob/master/NetCoreWebApi/index.html

放到项目的根目录,生成操作设置为:嵌入的资源

【文件】→【属性】→【生成操作】

​​

在Startup.cs文件中,我们需要修改UseSwaggerUI中间件的配置

 
  1. app.UseSwaggerUI(c =>
  2. {
  3. c.IndexStream = () => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("NetCoreWebApi.index.html");
  4. //访问swagger UI的路由,如http://localhost:<port>/swagger
  5. //默认是swagger
  6. c.RoutePrefix = string.Empty;
  7. c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
  8. c.DefaultModelsExpandDepth(-); //设置为 - 1 可不显示models
  9. c.DocExpansion(DocExpansion.None); //设置为none可折叠所有方法
  10. });

注意:这里NetCoreWebApi是项目的命名空间名

重新启动项目,Swagger文档页面的左上角就出现了一个小的面板,当请求接口之后,会显示出当前请求的分析数据。

​​

点击sql(ms)下面的耗时,可查看详细SQL信息:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值