2

由于 ASP.NET MVC 4 和 WebAPI 的持续问题,请参阅链接:

MVC 4 Web API - CreateResponse(status, object) 导致 HTTP 500

我需要检测内部 Web API 管道并查看发生了什么。

我该怎么做呢?

谢谢

卢克

**更新 **

我现在实现了一个 ITraceWriter,我现在可以看到 TraceRecord 上有一个异常属性,我可以转储甚至中断它,也许。

谢谢,我想回答了这个问题。

更多信息在这里:

http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api

4

2 回答 2

4

您可以为整个堆栈启用所有级别的跟踪(从基本的“信息”跟踪)。

如果您使用流行的库之一(即 nLog),您可以轻松地将其全部写入文件或事件日志(如果您愿意)。

只需将默认 ITraceWriter 替换为您的自定义类:

GlobalConfiguration.Configuration.Services.Replace(typeof(ITraceWriter), new NLogger());

您会看到各种内部跟踪消息填满了日志。

我在这里写了博客http://www.strathweb.com/2012/06/using-nlog-to-provide-custom-tracing-for-your-asp-net-web-api/

于 2012-07-17T12:15:56.527 回答
0

您是否尝试过设置:

 GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

是一篇关于 Web API 中的错误处理和跟踪的好文章。

于 2012-07-17T12:20:20.350 回答