http://www.forfreezone.com

MiniProfiler工具介绍澳门金沙官网网址

    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,可是开采实际是太痛苦了,你必须要进行新建、过滤、解除、关闭等操作,并且过滤筛选往往相比为难调整。后来察觉MiniProfiler工具十三分好用。

  同类监察和控制工具有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事件在此之前早就在任什么地点方采取了那一个实例了

解决方案:把MiniProfiler.EF6.Initialize(卡塔尔国在投身Database.SetInitializer<WebAppEF.Models.NorthwindEntities>(nullState of Qatar; 在此之前。

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网址质量

运用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸连串1卡塔尔

郑重声明:本文版权归澳门新葡8455最新网站所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。