c# – 如何在使用MiniProfiler时从特征分析中删除特定URL
发布时间:2020-12-15 07:46:24 所属栏目:百科 来源:网络整理
导读:有时候使用miniprofiler时,只有一些你不关心的请求.在我的情况下,我不太关心信号器,umbraco ping,以及当我想知道用户是否闲置时提出的一些请求. 为了避免miniprofiler在这些类型的请求中使用能量(并提供结果),我将以下代码添加到我的global.asax.cs文件中:
有时候使用miniprofiler时,只有一些你不关心的请求.在我的情况下,我不太关心信号器,umbraco ping,以及当我想知道用户是否闲置时提出的一些请求.
为了避免miniprofiler在这些类型的请求中使用能量(并提供结果),我将以下代码添加到我的global.asax.cs文件中: protected void Application_BeginRequest() { if ( (Request.IsLocal || Request.UserHostAddress == "37.49.143.197") && !(Request.RawUrl.Contains("/signalr/") || Request.RawUrl.Contains("/idle/verify") || Request.RawUrl.Contains("/idle/interaction") || Request.RawUrl.Contains("/umbraco/ping") ) ) { MiniProfiler.Start(); } } 看到我仍然收到包含给定字符串的URL的结果,我已经在Application Life Cycle中进行了此检查,试图消除我可以看到的不必要的结果,我仍然有. protected void Application_ProcessRequest() { if (Request.RawUrl.Contains("/signalr/") || Request.RawUrl.Contains("/idle/verify") || Request.RawUrl.Contains("/idle/interaction") || Request.RawUrl.Contains("/umbraco/ping") ) { MiniProfiler.Stop(discardResults: true); } } 但即使我已经这样做了,我仍然收到了不想要的结果.有谁知道这是怎么回事,我在这里做错了什么? 笔记 应该注意的是,因为我使用Umbraco作为我的基础,我使用MiniProfiler 2.1.0并且我开始我的Global.asax.cs文件,如下所示: public class MvcApplication : UmbracoApplication { protected override void OnApplicationStarted(object sender,EventArgs e) { // Setup profiler for Controllers via a Global ActionFilter GlobalFilters.Filters.Add(new ProfilingActionFilter()); // initialize automatic view profiling var copy = ViewEngines.Engines.ToList(); ViewEngines.Engines.Clear(); foreach (var item in copy) { ViewEngines.Engines.Add(new ProfilingViewEngine(item)); } ... 解决方法
您是否尝试过使用IgnoredPaths?
protected void Application_Start() { var ignored = MiniProfiler.Settings.IgnoredPaths.ToList(); ignored.Add("/signalr/"); ignored.Add("/idle/verify"); ignored.Add("/idle/interaction"); ignored.Add("/umbraco/ping"); MiniProfiler.Settings.IgnoredPaths = ignored.ToArray(); } 我认为这将起作用的原因是不会为静态资源触发BeginRequest和EndRequest事件. 我的理论是,你的一些请求确实是针对静态内容的,因此你所描述的事件不会触发. 使用您的Umbraco结构,代码如下所示: protected override void OnApplicationStarted(object sender,EventArgs e) { var ignored = MiniProfiler.Settings.IgnoredPaths.ToList(); ignored.Add("/signalr/"); ignored.Add("/idle/verify"); ignored.Add("/idle/interaction"); ignored.Add("/umbraco/ping"); MiniProfiler.Settings.IgnoredPaths = ignored.ToArray(); // Setup profiler for Controllers via a Global ActionFilter GlobalFilters.Filters.Add(new ProfilingActionFilter()); // initialize automatic view profiling var copy = ViewEngines.Engines.ToList(); ViewEngines.Engines.Clear(); foreach (var item in copy) { ViewEngines.Engines.Add(new ProfilingViewEngine(item)); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |