我正在尝试将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);
}
当申请开始时,我得到:
"请求在此上下文中不可用"
答案 0 :(得分:13)
您收到此错误是因为您在错误的位置运行MiniProfiler.Start()
。您需要MiniProfiler.Start()
作为Application_BeginRequest
的一部分运行。将它移动到这个功能,它应该工作。
当您将其作为Application_Start
的一部分运行时,它会失败,因为它正在尝试访问HttpContext.Current
无法访问的Application_Start
。
在MiniProfiler的上下文中,Application_Start
是您希望为所有请求制作任何全局MiniProfiler.Setting
自定义项的好地方。