想要通过在MVC中view中直观的查看页面加载以及后台EF执行情况,可以通过MiniProfiler小工具来实现。

但是从网上搜索的相关信息要么是MVC4下的老版本的MiniProfiler,要么就是标题是MVC5+EF6但是里讲的根本实现不了结果。

经过我自己一番折腾后,终于成功搞定。

具体操作分为三步:

ps:没图说个毛啊。

上图:

现在将具体的操作步骤记录一下,方便以后用到。

1、安装MiniProfiler.EF6

写在前面:

1、需要在vs中添加MiniProfiler、MiniProfiler.EF6、MiniProfiler.MVC5三个包

2、引用的三个包版本MiniProfiler 4.0.165, MiniProfiler.EF6 4.0.165 ,MiniProfiler.MVC5 4.0.165

引用情况如下:

2、将MiniProfiler.EF配置到项目中

1、配置Global.asax文件

打开Global.asax文件,在Application_Start方法中添加MiniProfiler的配置,需要添加两个代码:

MiniProfiler.Configure(new MiniProfilerOptions()
MiniProfilerEF6.Initialize()

手动添加Application_BeginRequest、Application_EndRequest两个方法。

Application_BeginRequest方法中添加如下代码:

if (Request.IsLocal)
{
MiniProfiler.StartNew(); }

Application_EndRequest方法中添加如下代码:

  MiniProfiler.Current?.Stop();

配置好后的完整内容:

2、修改_Layout.cshtml布局文件

首页在Views\Shared\_Layout.cshtml页面中引入两个文件

@using StackExchange.Profiling.Mvc
@using StackExchange.Profiling

然后在<body>标签最后添加一行代码:

@(MiniProfiler.Current.RenderIncludes())

配置好后的页面如下:

3、修改Web.config

在Web.config中

<system.webServer>
<handlers>

节点下插入代码

      <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />

要在页面上显示MVC和EF的调试跟踪时间必须要加入上面的代码

配置图如下:

3、运行结果

4、具体方法执行性能监控

如果需要监控具体的一个操作的性能,可以通过添加如下代码实现:

只需要将想要监控的操作放到//Todo中就可以了。

本地测试代码配置如下:

展示一下执行效果

上面多出了刚才后台配置的“执行插入操作”,“执行查询操作”两个操作的记录。这样就可以细致的监控到咱们想要监控的内部具体操作情况了。

可以方便我们及时、快速、方便的找出代码的性能瓶颈所在。

PS:如果有描述的不对的,请各位不吝赐教,我好及时修改,以免给其他看到的人造成错误示范

谢谢

MiniProfiler监控调试MVC5以及EntityFramework6性能的更多相关文章

  1. MiniProfiler(MiniProfiler.EF6监控调试MVC5和EF6的性能)

    git:  https://github.com/MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天 ...

  2. MiniProfiler.EF6监控调试MVC5和EF6的性能

    转自:蓝狐学MVC教程 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天我就来谈用mvc开 发项目的调试和性能监控.EF框架 ...

  3. 使用MiniProfiler调试Asp.net Mvc性能

    使用nuget添加MiniProfiler.EF组件 在Global文件中配置MiniProfiler protected void Application_Start() { AreaRegistr ...

  4. MVC教程--MiniProfiler.EF监控调试MVC和EF的性能

    上一篇谈到mvc中ef输出执行sql日志:来谈用mvc开发项目的调试和性能监控.EF框架自动给我生成sql语句,当我们的程序遇到性能问题的时候我们可以用MiniProfiler.EF来监控调试MVC和 ...

  5. 实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法 

    这篇文章主要为大家详细介绍了ASP.NET MVC5使用MiniProfiler监控MVC性能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 MiniProfiler ,一个简单而有效的迷你剖析器 ...

  6. Miniprofiler 监控ef执行详解

    首先NuGet添加 相对应ef版本的Miniprofiler.ef引用 web.config文件中添加 <system.webServer> <handlers>  <a ...

  7. Performance Monitor4:监控SQL Server的IO性能

    SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...

  8. JVM调优(三)——基于Btrace的监控调试

    JVM调优(三)--基于Btrace的监控调试 简介 Btrace可以动态地向目标应用程序的字节码注入追踪代码 用到的技术: JavaComplierApi.JVMTI.Agent.Instrumen ...

  9. 基于BTrace监控调试Java代码

    BTrace是Java的一个动态代码追踪工具,通过编写btrace脚本,它可以动态的向目标应用程序的字节码注入追踪代码,通过修改字节码的方式,达到监控调试和定位问题的目的,是解决线上问题的利器. BT ...

随机推荐

  1. [Java][Web] Servlet中转发和重定向比较

    Servlet中页面跳转的两种方式 请求转发 使用requestDispatcher对象 request.getRequestDispatcher("path").forward( ...

  2. 密码强度的正则表达式(JavaScript)总结

    简言 本文给出了两个密码强度的正则表达式方案,一个简单,一个更复杂和安全.并分别给出了两个方案的解析和测试程序.一般大家可以根据自己的项目的实际需要,自行定义自己的密码正则约定. 前言 用户注册时,都 ...

  3. Redis数据库2

    一.存储list 1.概述     list类型是按照插入顺序排序的字符串链表,可以在头部(left)和尾部(right)添加新的元素,如果不存在,则自动创建;如果list中所有元素被移除,则list ...

  4. shell命令cut

    cut命令用来操作字符串,可以理解为剪切字符串的工具: cut有两种用法: 1.剪切字符串中的单个字符(-c参数) 例如: str=abcdef echo $str | cut -c 1-1 输出:a ...

  5. JavaScript_6_函数

    函数是由事件驱动的或者当它被调用执行的可重复使用的代码块 调用带参数的函数 带有返回值的函数 <!DOCTYPE html> <html> <head> <t ...

  6. vijos 1320 清点人数

    背景 NK中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去.由于NK中学的学生很多,在火车开之前必须清点好人数. 描述 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出 ...

  7. [web开发] Vue+Spring Boot 上海大学预约系统开发记录

    前端界面 使用Quasar将组件都排好,用好css. Quasar 入门 # 确保你在全局安装了vue-cli # Node.js> = 8.9.0是必需的. $ npm install -g ...

  8. MySQL基础教程——mysql脚本编写

    SQL,结构化查询语言,既是对数据库进行操作的语言,也是数据库脚本文件的扩展名. 要求:新建一个名为 library 的数据库,包含 book.reader 两张表,根据自己的理解安排表的内容并插入数 ...

  9. Array - Container With Most Water

    /** * 此为暴力解法 * Find two lines, which together with x-axis forms a container, such that the container ...

  10. .vue公共组件裁减导航

    场景: 有一个公共头部和底部,vue搭建的框架,在app.vue里写的公共方法,首页是个登录页面,不需要公共部分,在这基础上进行公共部分的显示隐藏. 即注册页.登录页.404页面都不要导航 代码: ( ...