ASP.NET Core在WebApi项目中使用MiniProfiler分析Entity Framework Core

 更新时间:2022年02月17日 09:10:11   作者:Run2948  
这篇文章介绍了ASP.NET Core在WebApi项目中使用MiniProfiler分析Entity Framework Core的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

安装配置MiniProfiler

在现有的ASP.NET Core MVC WebApi 项目里,通过Nuget安装MiniProfiler

Install-Package MiniProfiler.AspNetCore.Mvc MiniProfiler.EntityFrameworkCore

当然也可以通过Nuget Package Manager可视化工具安装

接下来就是如何配置和使用 MiniProfiler 了,总共分三步:

第一步,来到Startup.csConfigureServices方法里,添加services.AddMiniProfiler();

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<DataContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DataContext")));

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

        // 首先添加一个配置选项,用于访问分析结果:
        services.AddMiniProfiler(options =>
        {
            // 设定弹出窗口的位置是左下角
            options.PopupRenderPosition = RenderPosition.BottomLeft;
            // 设定在弹出的明细窗口里会显式Time With Children这列
            options.PopupShowTimeWithChildren = true;
            // 设定访问分析结果URL的路由基地址
            options.RouteBasePath = "/profiler";
        })
        // 然后在之前的配置后边加上AddEntityFramework():
        .AddEntityFramework();
    }

第二步,来到来到Startup.csConfigure方法里,添加app.UseMiniProfiler();

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        ...

        // 最重要的一点是就是配置中间件在管道中的位置,一定要把它放在UseMvc()方法之前。 
        app.UseMiniProfiler();

        app.UseMvc();
    }

第三步、运行程序,一共有3个可查看分析结果相关的URL地址:

1./profiler/results-index

  • 先看results-index页面:

它表示每次调用API的记录结果。可以看到本次调用API的总时间为1578.4毫秒。

2./profiler/results

  • 从result-index页面点击链接进入这次API调用的详细结果页面,也就是result页面:

它表示每次调用API的过程分析结果,具体到每一条SQL语句的内容和执行时间。

3./profiler/results-list

  • 再看result-list页面:

它其实就表示每个API的所有调用记录结果的集合。

案例源码:

MiniProfilerCoreWebApiDemo

到此这篇关于ASP.NET Core在WebApi项目中使用MiniProfiler分析Entity Framework Core的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • .NET Windows 多线程thread编程

    .NET Windows 多线程thread编程

    .net里使用线程,用thread类,定义线程,启动,销毁,全部包括在这个类里,定义一个线程,必须指定这个线程的函数,也就是这个线程是做什么的
    2012-12-12
  • asp.net的加密解密技巧

    asp.net的加密解密技巧

    这篇文章主要介绍了Asp.net的加密解密技巧,需要的朋友可以参考下
    2015-10-10
  • ASP.NET中基于soaphead的webservice安全机制

    ASP.NET中基于soaphead的webservice安全机制

    常会用到WebService来通讯,但WebService发布后为了能调用,一般都通过发布到IIS后调用 的。在IIS里可以通过匿名访问,但这样大家都可能访问,不安全,下面提供一种基于soaphead的安全机制。
    2016-05-05
  • ASP.net判断上传文件类型的三种有效方法

    ASP.net判断上传文件类型的三种有效方法

    这篇文章主要介绍了用ASP.net判断上传文件类型的三种方法,需要的朋友可以参考下
    2014-02-02
  • 如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

    如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

    通过Cookie,因为它既可以在服务器端对其进行操作,也可在客户端对其进行操作但是缺点是不安全,而且有时客户端会由于安全问题禁用Cookie!
    2008-12-12
  • GridView分页代码简单万能实用

    GridView分页代码简单万能实用

    GridView在使用.net技术搭建的后台,在商品列表或者是信息列表经常会出现;它的作用在于有效的管理信息,增删改查等等最主要的是还可以实现分页,这一点是无可比靡的,接下来介绍如何使用GridView实现分页,需要了解的朋友可以参考下
    2012-12-12
  • .Net连接Oracle数据库的实现代码

    .Net连接Oracle数据库的实现代码

    本文使用System.Data.OracleClient方式,这是MS提供的以ADO.NET方式访问Oracel的驱动;Oracle也有个Oracle Data Provider for .NET(ODP.NET)下篇再讨论。
    2009-02-02
  • asp.net中的窗体身份验证(最简单篇)

    asp.net中的窗体身份验证(最简单篇)

    这篇文章主要介绍了最简单的asp.net中的窗体身份验证,详细叙述了asp.net的窗体身份验证步骤,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • 解决.net framework 4.0环境下遇到版本不同编译不通过的方法详解

    解决.net framework 4.0环境下遇到版本不同编译不通过的方法详解

    本篇文章是对.net framework 4.0环境下遇到版本不同编译不通过的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Asp.net 无限级分类实例代码

    Asp.net 无限级分类实例代码

    近期做的一个网站需要一个无限级下拉列表的无限级分级功能,于是就有了下面的小作品。 开始以为无限级下拉列表功能应该很简单,无非就是用一个递归算法就好啦,但是在做起来的时候却会遇到一些比较模糊的东西。
    2008-07-07

最新评论