ASP.NET MVC5使用MiniProfiler监控MVC性能

 更新时间:2017年07月27日 17:15:11   作者:huangenai  
这篇文章主要为大家详细介绍了ASP.NET MVC5使用MiniProfiler监控MVC性能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

MiniProfiler ,一个简单而有效的迷你剖析器,可以有效的实时监控页面。通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL。

1.安装

首先新建一个 asp.net mvc 项目

右键项目,管理NuGet程序包。 安装 MiniProfiler.Mvc4和MiniProfiler

ps:MiniProfiler.MVC4的NuGet包(该MVC4包支持MVC5)

或者也可以打开程序包管理控制台 输入命令进行安装

Install-Package MiniProfiler -Version 3.2.0.157

Install-Package MiniProfiler.Mvc4 -Version 3.0.11

2.将以下内容添加到Application_Start()Global.asax中

protected void Application_Start()
{
 ...
 GlobalFilters.Filters.Add(new ProfilingActionFilter());

 var copy = ViewEngines.Engines.ToList();
 ViewEngines.Engines.Clear();
 foreach (var item in copy)
 {
  ViewEngines.Engines.Add(new ProfilingViewEngine(item));
 }
}

3.将以下内容添加到“Application_BeginRequest()”和“Application_EndRequest()”,也在Global.asax中

protected void Application_BeginRequest()
{
 if (Request.IsLocal)
 {
  MiniProfiler.Start();
 }
}

protected void Application_EndRequest()
{
 MiniProfiler.Stop();
}

4.将以下内容添加到_Layout.cshtml(就在</body>标签之前):

 @StackExchange.Profiling.MiniProfiler.RenderIncludes()
</body>
</html>

5.将以下内容添加到<handlers>Web.config 的部分中

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

如果你在项目中使用了Entity Framework ,那么你可以安装MiniProfiler.EF6软件包,在Application_Start()在Global.asax 结尾添加了以下内容: MiniProfilerEF6.Initialize();

一个简单的对MVC性能的监控就这样了,其实他还有很多功能,比如说能够通过不同的参数检测并突出显示执行相同查询的区域。这样您就可以快速找到可能批量的查询。

还可以记录所有的ajax的调用,查看最近100个分析请求的分析信息等。

结果展示:

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C# 无限级分类的实现

    C# 无限级分类的实现

    采用存储过程实现递归逻辑,直接返回子分类列表的方式应该有更好的性能,尤其是Web服务器与数据库服务器不位于同一台服务器上时,更会受网络影响。
    2009-02-02
  • vscode extension插件开发详解

    vscode extension插件开发详解

    这篇文章主要介绍了vscode extension插件开发,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • ASP.NET MVC 4 中的JSON数据交互的方法

    ASP.NET MVC 4 中的JSON数据交互的方法

    本篇文章主要介绍了ASP.NET MVC 4 中的JSON数据交互的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • 浅谈ASP.NET中多层架构

    浅谈ASP.NET中多层架构

    Asp.net的多层架构主要是为了解决数据层,逻辑层,表示层等之间的关系。我的做法是这样的:首先建立一个DataCore的基类。基类里面封装了一些低层的数据库的基本操作,比如说数据库联接,调用存储过程等等。
    2015-06-06
  • ASP.NET网站实时显示时间的方法

    ASP.NET网站实时显示时间的方法

    这篇文章主要介绍了ASP.NET网站实时显示时间的方法,主要通过AJAX控件来实现该功能,是非常具有实用价值的技巧,需要的朋友可以参考下
    2014-11-11
  • .Net弹性和瞬态故障处理库Polly实现执行策略

    .Net弹性和瞬态故障处理库Polly实现执行策略

    这篇文章介绍了.Net弹性和瞬态故障处理库Polly实现执行策略的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • ASP.NET基于Ajax的Enter键提交问题分析

    ASP.NET基于Ajax的Enter键提交问题分析

    这篇文章主要介绍了ASP.NET基于Ajax的Enter键提交,结合实例形式分析了asp.net基于ajax响应Enter键的提交方法与相关问题解决技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)

    异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache.

    在一个项目中,为了系统执行效率更快,把一个经常用到的数据库表通过dataset放到Application中,发现在异步实现中每一次都会出现HttpContext.Current为null的异常,后来在网上查了好多资料,发现问这个问题的人多,回答的少
    2009-07-07
  • MVC+EasyUI+三层新闻网站建立 后台登录界面的搭建(二)

    MVC+EasyUI+三层新闻网站建立 后台登录界面的搭建(二)

    这篇文章主要为大家详细介绍了MVC+EasyUI+三层新闻网站建立的第二篇,教大家如何搭建后台登录界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • C# 生转换网页为pdf

    C# 生转换网页为pdf

    最近工作中遇到一个将htm转换为pdf的任务,这是一个有很有用的功能块,然而很遗憾,网上没有现成可行(包括开源/免费、易用和可维护性的考虑)方案。既然没有现成的解决方案就自己着手解决吧。
    2009-07-07

最新评论