void OnContextEndRequest(object sender, EventArgs e) { if (MonitorImpl.Enabled) { MonitorImpl.EndPage(); } }
void OnContextBeginRequest(object sender, EventArgs e) { try { var app = (HttpApplication)sender; if (app.Request.Url.AbsolutePath == "/pagemonitor") { var enabled = app.Request.QueryString["enabled"]; if (!String.IsNullOrEmpty(enabled)) { MonitorImpl.Enabled = enabled == "true"; app.Response.Write(MonitorImpl.Enabled); app.Response.End(); return; } var scontain = app.Request.QueryString["contain"]; var scount = app.Request.QueryString["count"]; int count = 0; Int32.TryParse(scount, out count); var pages = MonitorImpl.GetMonitorDatas().Cast <PageMonitorData>(); var datas = pages.Where(o => o.Count >= count && (String.IsNullOrEmpty(scontain) || o.Name.Contains(scontain))).OrderByDescending(o => o.Spans / o.Count); var json = Projects.Tool.Util.JsonConverter.ToJson(new { RunningTime = (long)(MonitorImpl.RunningTime.ToUnixTime() * 1000), CurrentTime = (long)(DateTime.Now.ToUnixTime() * 1000), StartTime = (long)(MonitorImpl.StartTime.ToUnixTime() * 1000), Enabled = MonitorImpl.Enabled, Datas = datas, Count = pages.Sum(o => o.Count) }); app.Response.Write(json); app.Response.End(); return; } if (MonitorImpl.Enabled) { MonitorImpl.BeginPage(app.Context); } } catch { } }