MiniProfiler工具介绍

作者: 手机游戏下载网站  发布:2019-10-18

    MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性质剖判的轻量级程序。能够对多个页面本人,及该页面通过直接援用、Ajax、Iframe方式拜候的此外页面进行监察,监察和控制内容包含数据库内容,并得以显得数据库访谈的SQL(帮衬EF、EF CodeFirst等 )。何况以很投机的章程表未来页面上。

    MiniProfiler官网:

    MiniProfiler的五个专门有效的机能是它与数据库框架的合一。除了.NET原生的 DbConnection类,MiniProfiler还内置了对实体框架(Entity Framework)以致LINQ to SQL、RavenDb和MongoDB的支撑。任何实施的Step都会包罗那时查询的次数和所花费的年月。为了检查实验常见的不当,如N+1反格局,profiler将检查评定只有参数值存在差其他四个查询。

    MiniProfiler是以Apache License V2.0协议公布的,你能够在NuGet找到。

  过去一直使用Sqlserver Profiler,不过开采其实是太难受了,你不得不进行新建、过滤、清除、关闭等操作,而且过滤筛选往往比较麻烦调控。后来意识迷你Profiler工具十三分好用。

  同类监察和控制工具备NanoProfiler,下载地址:https://github.com/ef-labs/nanoprofiler/issues/1

Demo演示

德姆o开拓情状

  • Win10
  • VS2013

未焚徙薪干活

新建MVC项目WebAppEF,使用Northwind数据库。

1、先安装MiniProfiler

图片 1

2、安装MiniProfiler.MVC4

图片 2

3、安装MiniProfiler.EF

图片 3

4、修改Global.asax文件

自身这里只必要在开荒蒙受使用SQL品质监察和控制,所以采纳了#if DEBUG,因为生产景况,咱们平时是选用release方式。同时,MiniProfiler还支持授权,这里不做牵线。

using StackExchange.Profiling;
using StackExchange.Profiling.EntityFramework6;
using System;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace WebAppEF
{
publicclassMvcApplication : System.Web.HttpApplication
    {
protectedvoid Application_Start()
        {
#if DEBUG
MiniProfilerEF6.Initialize();
#endif
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
protectedvoid Application_BeginRequest(Object source, EventArgs e)
        {
#if DEBUG
MiniProfiler.Start();
#endif
        }
protectedvoid Application_EndRequest()
        {
#if DEBUG
MiniProfiler.Stop();
#endif
        }
    }
}

5、在您的布局页(_Layout)中,比方以下这种布局,修改_Layout.cshtml

@using StackExchange.Profiling;
<head>
 ..
</head>
<body>
  ...
  @MiniProfiler.RenderIncludes()
</body>

6、修改配置文件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>

图片 4

7、添加控制器测试代码

        public ActionResult Index()
        {
            // create the entity object
            using (NorthwindEntities mobjentity = new NorthwindEntities())
            {
                ViewBag.SelectCustomer = mobjentity.Customers.Select(x => x.City == "Delhi").ToList();
            }

            var profiler = MiniProfiler.Current;
            using (profiler.Step("查询Customers的数据"))
            {
                using (NorthwindEntities entity = new NorthwindEntities())
                {
                    ViewBag.data = entity.Customers.ToList();
                }
            }
            return View();
        }

8、按F5调试运行

图片 5图片 6图片 7

说明:标记为duplicate的部分,代表在一次请求当中,重复执行了查询,可以进行优化。通过Step可以对独立的sql块进行标记。

广泛错误

1、The Entity Framework was already using a DbConfiguration instance before an attempt was made to add an 'Loaded' event handler. 'Loaded' event handlers can only be added as part of application start up before the Entity Framework is used. See for more information.

图片 8

浅析:错误提示的不经意是在妄想为DbConfiguration 实例加Loaded事件早先早已在另外省方使用了这些实例了

缓慢解决方案:把迷你Profiler.EF6.Initialize()在位于Database.SetInitializer<WebAppEF.Models.NorthwindEntities>(null); 以前。

2、Could not load file or assembly 'MiniProfiler, Version=3.0.11.0, Culture=neutral, PublicKeyToken=b44f9351044011a3' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

图片 9

深入分析:找不到MiniProfiler程序集或许它的依赖项。程序集定义和援用不相称。

缓慢解决方案:查看Web.config中是还是不是存在如下配置节点

<dependentAssembly>
<assemblyIdentityname="MiniProfiler"publicKeyToken="b44f9351044011a3"culture="neutral" />
<bindingRedirectoldVersion="0.0.0.0-3.2.0.157"newVersion="3.2.0.157" />
</dependentAssembly>

假定不设有则增进,若是存在,则检查MiniProfiler版本号和packages.config中的版本号是不是同样,要是不雷同将要对版本号举行修改。

参考:

行使MiniProfiler调节和测量试验ASP.NET MVC网址品质

选取迷你Profiler监察和控制EF与.NET MVC项目(Entity Framework 延伸种类1)

本文由银河网站登录发布于手机游戏下载网站,转载请注明出处:MiniProfiler工具介绍

关键词:

上一篇:Windows 10 下使用Git
下一篇:没有了