我试图检查用户是否在Application_BeginRequest和Application_AuthenticateRequest处于此代码中,并且它将无法正常工作.在BeginRequest中,代码永远不会被命中,并且验证它被某些请求打击,并且分析器不显示.
仅检查Request.IsLocal工作正常.
if(Request.IsAuthenticated) { if(User.IsInRole("Admin"); MiniProfiler.Start(); }
任何想法或为什么它不工作或更好的方法呢?
[更新]我接受了这个遮阳篷,但是没有弄清楚它,因为我没有做到这一点
我做了以下操作,但是分析器最初没有出现.
经过几次尝试,它开始显示,即使我尝试使用无痕模式访问该网站,所以没有cookie.
protected void Application_PostAuthorizeRequest(Object sender,EventArgs e) { if (User.IsInRole("Admin")) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("RoleProfiler"); if (cookie == null) { cookie = new HttpCookie("RoleProfiler"); cookie.Value = "yes"; cookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(cookie); } } }
我正在检查
protected void Application_BeginRequest(Object sender,EventArgs e) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("RoleProfiler"); if ((cookie != null) && (cookie.Value == "yes") ) { MvcMiniProfiler.MiniProfiler.Start(); } }
并在请求结束时结束.
protected void Application_EndRequest() { MvcMiniProfiler.MiniProfiler.Stop(); }
[Update2]关闭问题,忽略这个,我是由outputcache所有.