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性能优化之为结构体数组使用StructLinq的问题解析

    .NET性能优化之为结构体数组使用StructLinq的问题解析

    这篇文章主要介绍了.NET性能优化为结构体数组使用StructLinq,本系列的主要目的是告诉大家在遇到性能问题时,有哪些方案可以去优化;并不是要求大家一开始就使用这些方案来提升性能,需要的朋友可以参考下
    2022-05-05
  • asp.net下XML的加密和解密实现方法

    asp.net下XML的加密和解密实现方法

    xml加密(XML Encryption)是w3c加密xml的标准。这个加密过程包括加密xml文档的元素及其子元素,通过加密,xml的初始内容将被替换,但其xml格式仍然被完好的保留。
    2010-02-02
  • C#反射(Reflection)对类的属性get或set值实现思路

    C#反射(Reflection)对类的属性get或set值实现思路

    可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性,接下来为大家介绍下对一个类别的属性进行set和get值,感兴趣的各位可以参考下哈
    2013-03-03
  • ASP.NET Eval进行数据绑定的方法

    ASP.NET Eval进行数据绑定的方法

    ASP.NET Eval在数据绑定方面的应用是众所周知的,不过技术在发展,当ASP.NET Eval 1.1变成ASP.NET Eval 2.0的时候,在操作的时候会有什么变化呢?
    2013-04-04
  • 使用ASP.NET操作IIS7中应用程序

    使用ASP.NET操作IIS7中应用程序

    IIS7的操作和IIS5/6有很大的不同,在IIS7里增加了 Microsoft.Web.Administration 命名空间里,增加了ServerManager、Site几个大类来操作IIS7。本文主要介绍.NET对IIS7的操作。
    2015-10-10
  • .Net弹性和瞬态故障处理库Polly介绍

    .Net弹性和瞬态故障处理库Polly介绍

    这篇文章介绍了.Net弹性和瞬态故障处理库Polly,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • .NET8实现PDF合并的示例代码

    .NET8实现PDF合并的示例代码

    这篇文章主要为大家详细介绍了如何使用.NET8实现PDF合并的效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • Asp.net6.0 Swagger使用问题及解决过程

    Asp.net6.0 Swagger使用问题及解决过程

    这篇文章主要介绍了Asp.net6.0 Swagger使用备忘,文中介绍了在Docker中显示OpenApiInfo的中文内容,显示xml注释及如何显示Header的问题,需要的朋友可以参考下
    2022-05-05
  • asp.net BackgroundWorker之在后台下载文件

    asp.net BackgroundWorker之在后台下载文件

    下载文件是常见任务,通常情况下,最好以单独的线程来运行这项可能很耗时的操作。使用 BackgroundWorker 组件可以用非常少的代码完成此任务
    2011-12-12
  • VS2015下简单使用EF框架的方法

    VS2015下简单使用EF框架的方法

    这篇文章主要为大家详细介绍了VS2015下简单使用EF框架的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论