using zzz.Common; using Microsoft.Extensions.DependencyInjection; using System; using StackExchange.Profiling.Storage; namespace zzz.Extensions { /// /// MiniProfiler 启动服务 /// public static class MiniProfilerSetup { public static void AddMiniProfilerSetup(this IServiceCollection services) { if (services == null) throw new ArgumentNullException(nameof(services)); if(Appsettings.app(new string[] { "Middleware", "MiniProfiler" }).ObjToBool()) { services.AddMiniProfiler(options => { options.RouteBasePath = "/profiler";//注意这个路径要和下边 index.html 脚本配置中的一致, (options.Storage as MemoryCacheStorage).CacheDuration = TimeSpan.FromMinutes(10); options.PopupRenderPosition = StackExchange.Profiling.RenderPosition.Left; options.PopupShowTimeWithChildren = true; }); } // 3.x使用MiniProfiler,必须要注册MemoryCache服务 // services.AddMiniProfiler(options => // { // options.RouteBasePath = "/profiler"; // //(options.Storage as MemoryCacheStorage).CacheDuration = TimeSpan.FromMinutes(10); // options.PopupRenderPosition = StackExchange.Profiling.RenderPosition.Left; // options.PopupShowTimeWithChildren = true; // // 可以增加权限 // //options.ResultsAuthorize = request => request.HttpContext.User.IsInRole("Admin"); // //options.UserIdProvider = request => request.HttpContext.User.Identity.Name; // } //); } } }