我正在尝试从ASP.NET MVC应用程序输出到Trace.axd。我在OnActionExecuting(),OnActionExecuted(),OnResultExecuting()和OnResultExecuted()中都有跟踪,除了OnResultExecuted()之外,它们都输出到Trace.axd。
为了完整性,这里是我的代码(与OnActionX()完全相同):
protected override void OnResultExecuting(ResultExecutingContext filterContext)
{
resultStartTime = DateTime.Now;
filterContext.HttpContext.Trace.Warn("OnResultExecuting: " + actionStartTime);
base.OnResultExecuting(filterContext);
}
protected override void OnResultExecuted(ResultExecutedContext filterContext)
{
DateTime resultEndTime = DateTime.Now;
filterContext.HttpContext.Trace.Warn("OnResultExecuted: " + resultEndTime);
filterContext.HttpContext.Trace.Warn("OnResultExecuted - OnResultExecuting: " + (resultEndTime - resultStartTime).TotalSeconds);
base.OnResultExecuted(filterContext);
}
我正在使用ELMAH,但我已将其禁用,但我仍然遇到问题。
答案 0 :(得分:5)
在OnResultExecuted()运行时输出到IIS跟踪提供程序为时已晚。您可以写入Debug trace provider。见http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx