如何在asp.net owin api项目中启用JSON.NET序列化/反序列化跟踪?

问题描述 投票:0回答:1

我关注了JSON.NET blog - enable tracing

它仅显示在使用其中一个对象手动反序列化时如何启用跟踪。但是,在asp.net OWIN中,序列化/反序列化是由框架完成的,我想知道是否有任何方法可以将跟踪挂钩到用于JSON.NET的asp.net OWIN堆栈?

任何帮助表示赞赏。

c# json asp.net-web-api json.net owin
1个回答
1
投票

你可以启用这样的跟踪

public class SimpleTracer : ITraceWriter
{
    public void Trace(HttpRequestMessage request, string category, TraceLevel level, 
        Action<TraceRecord> traceAction)
    {
        TraceRecord rec = new TraceRecord(request, category, level);
        traceAction(rec);
        WriteTrace(rec);
    }

     //here you can write logic for json serialization/deserialization    
    protected void WriteTrace(TraceRecord rec)
    {
        var message = string.Format("{0};{1};{2}", 
            rec.Operator, rec.Operation, rec.Message);
        System.Diagnostics.Trace.WriteLine(message, rec.Category);
    }
}

插入你的追踪

 config.Services.Replace(typeof(ITraceWriter), new SimpleTracer());

基于:Tracing in ASP.NET Web API 2

© www.soinside.com 2019 - 2024. All rights reserved.