Asp.net MVC MiniProfiler"请求在此上下文中不可用"

umk*_*mki 5 asp.net asp.net-mvc mvc-mini-profiler

我正在尝试将MiniProfiler用于使用Oracle DB的MVC应用程序.这是我的global.asax.

protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();    
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);            
         MiniProfiler.Start(); //or any number of other checks, up to you 

    }
    protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
    {
        DevExpressHelper.Theme = "Metropolis";
        MiniProfiler.Stop(); //stop as early as you can, even earlier with MvcMiniProfiler.MiniProfiler.Stop(discardResults: true);

    }
Run Code Online (Sandbox Code Playgroud)

申请开始时,我得到:

"请求在此上下文中不可用"

Yaa*_*lis 13

您收到此错误是因为您MiniProfiler.Start()在错误的位置运行.你需要MiniProfiler.Start()作为一部分运行Application_BeginRequest.将它移动到此功能,它应该工作.

当你运行它作为它的一部分Application_Start失败,因为它试图访问HttpContext.Current,这是无法访问的Application_Start.

在MiniProfiler的上下文中,Application_StartMiniProfiler.Setting您希望为所有请求进行任何全局自定义的好地方.