2014-05-06 9 views
5

Ich versuche MiniProfiler für meine MVC-Anwendung zu verwenden, die Oracle DB verwendet. Hier ist mein Global.asax.Asp.net MVC MiniProfiler "Anfrage ist in diesem Zusammenhang nicht verfügbar"

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); 

    } 

Wenn Anwendung gestartet ich erhalte:

"Request ist in diesem Zusammenhang nicht verfügbar"

Antwort

13

Sie diesen Fehler, weil Sie MiniProfiler.Start() an der falschen Stelle ausgeführt werden. Sie müssen MiniProfiler.Start() als Teil von Application_BeginRequest ausführen. Verschiebe es in diese Funktion und es sollte funktionieren.

Wenn Sie es als Teil von Application_Start ausführen, schlägt es fehl, weil es versucht, auf HttpContext.Current zuzugreifen, auf das in Application_Start nicht zugegriffen werden kann.

Im Kontext von MiniProfiler ist Application_Start ein guter Platz, um globale MiniProfiler.Setting Anpassungen vorzunehmen, die Sie für alle Anfragen bereithalten möchten.

+0

Sie sind richtig. Mein Fehler. Grüße – umki

Verwandte Themen