1

根据文件

使用该ITraceWriter接口为 ASP.NET Web API 编写跟踪。的默认实现ITraceWriter是“无操作”跟踪器

为什么我会null进入我的应用程序?

    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            ITraceWriter trace = GlobalConfiguration.Configuration.Services.GetTraceWriter();
            //..........
        }
    }

我需要将实例作为依赖项传递给我的处理程序/等。当然,我可以自己实现和注册“无操作”作家,但是......

为什么我更喜欢新界面而不是旧界面System.Diagnostics

4

2 回答 2

2

Web API 有一个名为 的 Tracing nuget 包Microsoft.AspNet.WebApi.Tracing,您可以使用它来获取默认的 System.Diagnostic 跟踪。

然后你可以这样做:

config.EnableSystemDiagnosticsTracing();
于 2013-06-20T14:44:10.317 回答
1

根据测试和调试
你得到null是因为示踪剂不在管道中。

您可以通过实现替换默认跟踪器:

public static void Register(HttpConfiguration config)
{
   config.Services.Replace(typeof(ITraceWriter), new SimpleTracer());
}  
于 2013-06-20T08:48:49.897 回答