跟踪不在MVC中的OnResultExecuted()中工作

stu*_*win 0 asp.net-mvc trace action-filter

我正在尝试从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);
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用ELMAH,但我已禁用它,我仍然遇到问题.

Ric*_*SFT 5

在OnResultExecuted()运行时输出到IIS跟踪提供程序为时已晚.您可以写入Debug trace provider.请参阅http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx