Я использую мини-профилировщик в моем приложении asp.net MVC 3. Я реализовал профилировщик с помощью пакета mvc nuget. Все работает нормально для стандартных запросов страниц, я получаю информацию профиля все.
Однако запросы AJAX изначально не отображаются. Просто, чтобы подтвердить, что запрос выполнен без ошибок. Я отладил это, и они завершают, они также возвращают ответы HTTP 200 в Fiddler.
Нет запроса от мини-профилировщика, который сопровождает запрос 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() { }
}
Требуется ли какая-либо конфигурация или потенциальные проблемы, о которых мне следует знать?