private void Context_EndRequest(object sender, EventArgs e) { if (((HttpApplication)sender).Context.Request.CurrentExecutionFilePathExtension.ToLower() == ".axd") { return; } var httpHandler = HttpContext.Current.Handler as HttpHandler; if (httpHandler != null) { // set the original handler back HttpContext.Current.Handler = httpHandler.OriginalHandler; } LogEvent(sender, e, "Context_EndRequest", watcher); //TODO Look into this dynamic assembly.. it works, but is not in use atm //var weee = DynamicAssembly.LoadAssemblyInstances<ILogRecorderAndPlayer>("DynAssembly.dll").FirstOrDefault(); //var ost = weee.DoStuff(6, 10); //var ccc = ConfigurationHelper.GetConfigurationSection(); string response = watcher.ToString(); this.context.Response.Filter = null; HttpApplication application = (HttpApplication)sender; HttpContext context = application.Context; string filePath = context.Request.FilePath; string fileExtension = VirtualPathUtility.GetExtension(filePath); //if (filePath.ToLower() == "/logrecorderandplayer.aspx") //{ // context.Response.Clear(); // context.Response.Write(ResourceHelper.GetResourceContent("LogRecorderAndPlayer.JS.LogRecorderAndPlayer.js")); // context.Response.Status = "200 OK"; // context.Response.StatusCode = 200; // context.Response.StatusDescription = "OK"; //} //if (filePath.ToLower() == "/logrecorderandplayerjs.aspx") //{ // context.Response.Clear(); // context.Response.Write(ResourceHelper.GetResourceContent("LogRecorderAndPlayer.JS.LogRecorderAndPlayer.js")); // //context.Response.Status = "200 OK"; // //context.Response.StatusCode = 200; // //context.Response.StatusDescription = "OK"; // return; //} }
private string BuildLogText(string name, HttpContext context, Page page, IHttpHandler handler, StreamWatcher watcher) { var sb = new StringBuilder(); try { sb.AppendLine($"context: {context != null}"); if (context != null) { sb.AppendLine($"context.Session: {context.Session != null}"); if (context.Session != null) { sb.AppendLine($"context.Session[\"HttpModuleTest\"]: {(context.Session["HttpModuleTest"] ?? "null")}"); var value = $"{name}{DateTime.Now.ToString("HH:mm:ss:fff")}"; sb.AppendLine($"Setting context.Session[\"{value}\"] = \"{value}\""); context.Session[value] = value; sb.AppendLine($"Done setting context.Session[\"{value}\"] = \"{value}\""); } } } catch (Exception ex) { sb.AppendLine($"context: Error"); sb.AppendLine(ex.Message); sb.AppendLine(ex.StackTrace); } sb.AppendLine($"page: {page != null}"); try { if (page != null && page.IsValid) { try { sb.AppendLine($"page.Session: {page.Session != null}"); if (page.Session != null) { sb.AppendLine($"page.Session[\"HttpModuleTest\"]: {(page.Session["HttpModuleTest"] ?? "null")}"); var value = $"{name}{DateTime.Now.ToString("HH:mm:ss:fff")}"; sb.AppendLine($"Setting page.Session[\"{value}\"] = \"{value}\""); page.Session[value] = value; sb.AppendLine($"Done setting page.Session[\"{value}\"] = \"{value}\""); } } catch (Exception ex) { sb.AppendLine($"Page-Session: Error"); sb.AppendLine(ex.Message); sb.AppendLine(ex.StackTrace); } } } catch (Exception ex2) { sb.AppendLine("Page: Error"); sb.AppendLine(ex2.Message); sb.AppendLine(ex2.StackTrace); } if (page != null) { SetupPageEvent(page, "InitComplete"); SetupPageEvent(page, "LoadComplete"); SetupPageEvent(page, "PreInit"); SetupPageEvent(page, "PreLoad"); SetupPageEvent(page, "PreRenderComplete"); SetupPageEvent(page, "SaveStateComplete"); SetupPageEvent(page, "DataBinding"); SetupPageEvent(page, "Disposed"); SetupPageEvent(page, "Init"); SetupPageEvent(page, "Load"); SetupPageEvent(page, "PreRender"); SetupPageEvent(page, "Unload"); SetupPageEvent(page, "AbortTransaction"); SetupPageEvent(page, "CommitTransaction"); SetupPageEvent(page, "Error"); } if (page != null) { sb.Append(TestViewState(page, name)); } sb.AppendLine($"handler: {handler != null}"); if (watcher != null) { try { sb.AppendLine($"watcher.response.length = {watcher.ToString().Trim().Length}"); } catch (Exception ex) { sb.AppendLine($"watcher: Error"); sb.AppendLine(ex.Message); sb.AppendLine(ex.StackTrace); } } return(sb.ToString()); }