Я пытаюсь использовать MvcMiniProfiler в моем приложении ASP.NET MVC. Я установил последний пакет NuGet и добавил весь код с вики-страницы в Application_BeginRequest()
, Application_AuthenticateRequest()
и на мой взгляд.
При загрузке страницы все файлы javascript мини-профайлера включены и правильно загружаются с сервера, но когда он пытается получить результаты, Chrome показывает:
GET http://localhost:59269/mini-profiler-results?id=59924d7f-98ba-40fe-9c4a-6a163f7c9b08&popup=1 404 (Not Found)
Я предполагаю, что это связано с тем, что никакие маршруты не устанавливаются с помощью MVC, чтобы разрешить /mini-profiler-results
, однако я не могу найти способ сделать это. Посмотрев на кодовой странице Google, их файл Global.asax.cs
их примерного приложения прошел несколько изменений, один раз используя MvcMiniProfiler.MiniProfiler.RegisterRoutes()
, второй - с помощью MvcMiniProfiler.MiniProfiler.Init()
и третий стиль, который ничего не делает. Ранее упомянутых двух функций не существует, поэтому я предполагаю, что они были поэтапно отменены.
В этот момент я не знаю, как я могу исправить эту ошибку и использовать профилировщик в своем приложении. Любые идеи?
Мой файл Global.Asax.cs выглядит так:
public class Global : System.Web.HttpApplication
{
protected void Application_BeginRequest()
{
MvcMiniProfiler.MiniProfiler.Start();
}
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
// Only show profiling to admins
if (!Roles.IsUserInRole(Constants.AdminRole))
MvcMiniProfiler.MiniProfiler.Stop(discardResults: true);
}
protected void Application_Start(object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.MapRoute(
"Default",
// Route name
"{controller}/{action}/{id}",
// URL with parameters
new { controller = "Home", action = "Index", id = "" }
// Parameter defaults
);
}
}