public void Dispose() { this.endTime = DateTime.Now; if (this.parent != null) { this.parent.SaveChildData(this.section, this.startTime, this.endTime, childData); Current = this.parent; } else { var data = new SpeedTracerData { Section = section, StartTime = startTime, EndTime = endTime, Children = childData, ClassName = this.className, MethodName = this.methodName, LineNumber = this.lineNumber }; HttpContext.Current.Application["Trace:" + HttpContext.Current.Items["TraceId"]] = data; } }