Почему трассировка не работает в дочерних действиях ASP.NET MVC?

В приложении ASP.NET MVC 3 вызовы HttpContext.Trace.Write и System.Diagnostics.Trace.Write из родительского метода контроллера (или из бизнес-объекта, который он вызывает) ведут к записи в Trace.axd.

Если дочернее действие вызывается родительским представлением, например. Html.RenderAction( "ChildAction" ), то трассировка операторов в методе ChildAction Controller не отражается в Trace.axd. Тем не менее, если я непосредственно ударил http://localhost/Home/ChildAction, то инструкции появятся в трассировке.

Я делаю что-то неправильно или есть какая-то конфигурация веб-сайта, необходимая для того, чтобы трассировка работала над дочерними действиями и любыми бизнес-методами, которые они вызывают?

HomeController.cs:

public ActionResult Index()
{
    HttpContext.Trace.Write("blah");
    System.Diagnostics.Trace.WriteLine("blah diag");
    var b = new Business();
    b.DoStuff();
    return View();
}

public ActionResult ChildAction()
{
    HttpContext.Trace.Write("child action trace");
    System.Diagnostics.Trace.WriteLine("child action diag");
    var b = new Business();
    b.DoStuff();
    return Content("some content");
}

Index.cshtml:

<h2>Index</h2>
@{ Html.RenderAction("ChildAction"); }

web.config:

<trace enabled="true" localOnly="false" mostRecent="true" pageOutput="false" requestLimit="1000" traceMode="SortByTime" writeToDiagnosticsTrace="false" />

<system.diagnostics>
<trace>
<listeners>
<add name="WebPageTraceListener" type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</listeners>
</trace>
</system.diagnostics>

+2
источник поделиться

Посмотрите другие вопросы по меткам или Задайте вопрос