zoukankan      html  css  js  c++  java
  • MiniProfiler在MVC5下的使用记录

    1、Nuget安装MiniProfiler.MVC5

    2、web.config的handlers中添加<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />

    3、Application_Start中增加

                MiniProfiler.Configure(new MiniProfilerOptions
                {
                    Storage = new MultiStorageProvider(new MemoryCacheStorage(new TimeSpan(1, 0, 0))),
    
                    PopupRenderPosition = RenderPosition.Left,  // defaults to left
                    PopupMaxTracesToShow = 10,                   // defaults to 15
    
                    ResultsAuthorize = request =>
                    {
                        if ("/home/resultsauthorization".Equals(request.Url.LocalPath, StringComparison.OrdinalIgnoreCase))
                        {
                            return (request.Url.Query).IndexOf("isauthorized", StringComparison.OrdinalIgnoreCase) >= 0;
                        }
    
                        return true;
                    },
    
                    ResultsListAuthorize = request =>
                    {
                        return true;
                    },
    
                    StackMaxLength = 256,
                    TrackConnectionOpenClose = true
    
                }
                // Optional settings to control the stack trace output in the details pane, examples:
                .ExcludeType("SessionFactory")  // Ignore any class with the name of SessionFactory)
                .ExcludeAssembly("NHibernate")  // Ignore any assembly named NHibernate
                .ExcludeMethod("Flush")         // Ignore any method with the name of Flush
                .AddViewProfiling()              // Add MVC view profiling (you want this)
                                                 // If using EntityFrameworkCore, here's where it'd go.
                                                 // .AddEntityFramework()        // Extension method in the MiniProfiler.EntityFrameworkCore package
                );
    
                // If we're using EntityFramework 6, here's where it'd go.
                // This is in the MiniProfiler.EF6 NuGet package.
                // MiniProfilerEF6.Initialize();

    4、另增加Application_BeginRequest、Application_EndRequest,分别为:

            protected void Application_BeginRequest()
            {
                // You can decide whether to profile here, or it can be done in ActionFilters, etc.
                // We're doing it here so profiling happens ASAP to account for as much time as possible.
                if (Request.IsLocal) // Example of conditional profiling, you could just call MiniProfiler.StartNew();
                {
                    MiniProfiler.StartNew();
                }
            }
    
            protected void Application_EndRequest()
            {
                MiniProfiler.Current?.Stop(); // Be sure to stop the profiler!
            }

    5、Views中的_Layout.cshtml(也可是其它文件)内容中增加

    @using StackExchange.Profiling; //文件头部
    @MiniProfiler.Current.RenderIncludes(position: RenderPosition.Right, showTrivial: false, showTimeWithChildren: true) //body中

    6、如果需要统计细分步骤的时工,在Action中根据需要添加:

    MiniProfiler.Current.Step("阶段描述文字");

    7、访问页面效果

  • 相关阅读:
    浅谈flume
    浅谈storm
    浅谈zookeeper
    IntelliJ IDEA 使用教程
    浅谈spark
    添加本地jar包到maven仓库
    eclipse通过maven进行打编译
    pom.xml中添加远程仓库
    maven编译错误maven-assembly-plugin:2.2-beta-5:assembly (default-cli) on project
    最长上升子序列
  • 原文地址:https://www.cnblogs.com/e4ky/p/14509350.html
Copyright © 2011-2022 走看看