我在我的asp.net MVC 3應用程序上使用mini-profiler。我已經使用mvc nuget包實現了分析器。一切工作正常的標準頁面請求我得到配置文件信息SQL的一切。迷你profiler不顯示ajax請求信息?
然而,ajax請求似乎並沒有顯示在最初。只是讓我確認請求完成沒有錯誤。我已經調試了這一點,他們完成了他們也在小提琴手中返回http 200響應。
迷你分析器沒有伴隨ajax請求的請求。當我然後導航到另一個頁面,即標準頁面請求時,現在顯示在最後一頁上所做的所有ajax請求。
這是App_Start
public static class MiniProfilerPackage
{
public static void PreStart()
{
//Setup sql formatter
MiniProfiler.Settings.SqlFormatter = new OracleFormatter();
//Make sure the MiniProfiler handles BeginRequest and EndRequest
DynamicModuleUtility.RegisterModule(typeof(MiniProfilerStartupModule));
//Setup profiler for Controllers via a Global ActionFilter
GlobalFilters.Filters.Add(new ProfilingActionFilter());
//Settings
MiniProfiler.Settings.PopupShowTimeWithChildren = true;
MiniProfiler.Settings.PopupShowTrivial = false;
//Ignore glimpse details in miniprofiler
var ignored = MiniProfiler.Settings.IgnoredPaths.ToList();
ignored.Add("Glimpse.axd");
MiniProfiler.Settings.IgnoredPaths = ignored.ToArray();
}
public static void PostStart()
{
// Intercept ViewEngines to profile all partial views and regular views.
// If you prefer to insert your profiling blocks manually you can comment this out
var copy = ViewEngines.Engines.ToList();
ViewEngines.Engines.Clear();
foreach (var item in copy)
{
ViewEngines.Engines.Add(new ProfilingViewEngine(item));
}
}
}
public class MiniProfilerStartupModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += (sender, e) =>
{
var request = ((HttpApplication)sender).Request;
MiniProfiler.Start();
};
//Profiling abadened if user is not in the admin role
context.PostAuthorizeRequest += (sender, e) =>
{
if (!context.User.IsInRole("Admin"))
MiniProfiler.Stop(discardResults: true);
};
context.EndRequest += (sender, e) =>
{
MiniProfiler.Stop();
};
}
public void Dispose() { }
}
我的迷你探查配置頁面是否有需要進行一些配置或潛在的問題,我應該知道的?
其實它的工作對我來說,如果我把miniprofiler高於渲染我所有的JavaScript代碼(包括jQuery的)。怪怪的? –
@KatLimRuiz我想現在他們可能會用miniprofiler打包一個jquery版本。 –