Web API 2等效于WCF .svclog文件

时间:2014-11-14 17:27:17

标签: c# asp.net .net wcf asp.net-web-api

背景

我正在使用.NET Web API 2服务解决一些问题。问题是不一致的,从请求服务,我们看到的只是连接重置和套接字异常。它甚至没有达到API中的用户代码/日志记录,但是对于不会将WEB API作为罪魁祸首的低级异常。

研究

过去用于解决WCF中类似问题的一个非常有用的工具是启用WCF Tracing。我正在寻找可以显示Web API的低级服务跟踪的等价物。

我找到了Global Error Handling,我过去曾使用像Elmah这样的软件包。但据我所知,这只显示未处理的异常,而不是像svclog那样整个服务跟踪。

我也了解Fiddler和Wireshark,虽然这些是用于http跟踪和低级协议嗅探的优秀工具。此时,我更感兴趣的是.NET服务认为它正在接收什么以及它如何处理这些操作,而不是数据包是通过网络进行的。

摘要

Web API 2是否与WCF .svclog等效?特别关注与字节/请求的低级服务交互。

修改

我接受了最好的答案,两个答案都指向了相同的跟踪形式。值得一提的是,对于这个特定的问题,跟踪没有显示任何其他信息,但我相信它是Web API对WCF svclog最接近的跟踪。

2 个答案:

答案 0 :(得分:2)

WebAPI中没有直接的等效解决方案,但他们在V2中添加了一些跟踪功能。您可以参考以下文章。

Tracing in ASP.NET Web API 2

如果您遇到连接问题,我还会检查IIS日志和httperr日志,这些日志可能会为您提供有关此类问题的更多详细信息。

答案 1 :(得分:2)

WCF和WebAPI日夜不同。 WCF有一个复杂的消息传递基础架构,有许多中间件需要它们提供的跟踪级别来进行故障排除。

另一方面,WebAPI非常简单,请求本身和代码之间几乎没有。该代码中的任何问题都表现为YSOD(即500错误,如果禁用自定义错误将显示异常)。就像MVC甚至是标准的ASP.NET应用程序一样。

现在,有一些可用的跟踪,但不是svclog与WCF一样。这里有信息:

http://blogs.msdn.com/b/roncain/archive/2012/04/12/tracing-in-asp-net-web-api.aspx

您必须编写自己的记录器,尽管可能已经找到了一些记录器。